Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
Oleh: Alfons Hasto Adi NIM : 025314041
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
Presented as Partial Fulfillment of the Requirements to Obtain the Engineering Degree
in Informatic Engineering
By : Alfons Hasto Adi St. Num : 025314041
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2007
iv
v
memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 24 September 2007 Penulis
vi
HALAMAN PERSEMBAHAN
Kupersembahkan jerih payah dan karyaku ini untuk :
Tuhan Yesus dan Bunda Maria atas segala berkat-Nya dan
curahan kasih-Nya.
Bapak dan Mama atas kasih sayang selama ini yang selalu
mendukungku
All my sisters, terima kasih atas kerja sama dan kritik – kritik
pedas sehingga penulis mampu menyelesaikan satu tahap dalam
hidupnya
Teman – teman seperjuanganku di Jogja, terimakasih atas
persahabatannya
TI’02 maaf atas semua dan terima kasih atas semua
radiohead muse oasis coldplay my ’emotional banking’
vii
yang berbasis web. Tujuan utama dari sistem ini adalah untuk membantu kinerja dari sebuah resto sehingga menjadi sebuah resto yang baik.
Proses yang cepat sangat dibutuhkan dalam mencari kepuasan dari para konsumen, dalam hal ini pelanggan resto. Sistem ini akan membantu dalam pencatatan menu pesanan, order ke bagian dapur serta pada saat pembayaran. Gambaran sistemnya adalah ketika seorang waiter/ess mencatat menu pesanan dari pelanggan, maka akan dicatat menggunakan PDA yang akan di hubungkan dengan Bluetooth ke sebuah server yang nantinya akan memprosesnya untuk dikirimkan ke bagian dapur dan bagian pembayaran(kasir).
Dengan adanya sistem tersebut diharapkan mampu meningkatkan kepuasan pelanggan dan meningkatkan nama serta grade dari sebuah resto yang menggunakannya.
Sistem ini dikembangkan menggunakan PHP5 dan MySql5 dengan dibantu BlueSoeil untuk koneksi bluetoothnya.
viii
Resto Serving System is a web base digital information system. The main purpose of this system is to increase the performance of the resto to make it a better one.
Process which quickly very required in searching satisfaction from all customer, in this case resto customers. This system will assist in record-keeping of order menu, order to kitchen shares and also at the payment process. System description is when a waiter/ess note the order menu from the customer, hence will be noted with PDA to attributing to Bluetooth to a server which later will process to be delivered to kitchen part and payment part (cashier).
With the existence of the system expected able to improve the customer satisfaction and improve the name and also grade from a resto that use this system.
This system developed with PHP5 and Mysql5 assistively by Bluesoleil for the bluetooth conection.
ix
karunia yang diberikan, sehingga penulis dapat menyelesaikan tugas akhir yang berjudul “Sistem Layanan Resto Menggunakan Bluetooth” ini dengan baik. Penulisan ini merupakan salah satu syarat untuk memperoleh gelar Sarjana Teknik di Universitas Sanata Dharma pada program studi Teknik Informatika.
Selama penulisan skripsi ini penulis telah memperoleh bantuan dan bimbingan dari berbagai pihak. Oleh karena itu penulis mengucapkan terima kasih kepada:
1. Bapak B. Herry Suharto, S.T., M.T. selaku pembimbing yang telah banyak membantu dan membimbing selama mengerjakan tugas akhir ini.
2. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku dosen pembimbing akademik dan Ketua Jurusan Teknik Informatika Universitas Sanata Dharma yang sudah banyak membantu dan memberikan dukungan serta kepercayaan kepada penulis selama masa kuliah.
3. Romo Ir. Gregorius Heliarko SJ, SS, BST, MA, M.Sc. selaku dekan yang membuat keputusan yang membuat penulis mampu menyelesaikan kuliah. 4. Ibu Ridowati Gunawan, S.Kom., M.T., Romo Drs. Hari Suparwito, SJ.,
M.App.IT. dan Ibu P.H. Prima Rosa, S.Si., M.Sc. selaku panitia penguji pada ujian pendadaran penulis.
5. Seluruh staff dan dosen pengajar di Univeritas Sanata Dharma pada umumnya dan Jurusan Teknik Informatika pada khususnya.
6. Pak Belle, Mba Marni, Pak Djito, Agus, Sina yang menenangkan penulis saat pendadaran dan pihak sekretariat teknik yang telah membantu saya dalam urusan administrasi maupun peminjaman lab.
7. Bapak, Ibu, Mbak Denok, Arum dan Mbah Nem serta keluarga besar Ganjuran yang telah memberi dorongan baik moril maupun spiritual.
8. Teman–teman TI seperjuangan angkatan 02 Pram, Budi, Pristo, Andika + Tri, Mc’Dee, Albert, Widy, Andi Raharjo, Bowo, Nico, Ase, Kuncung, Lilik, Ika + Gwendi, Aceng, Handi + Danik, Afu, Tono, Santo, Andre, Ucok, Yohana, Kristi, Tere, Rika, Dadit + Tata, Brigit, Chris, Li Jun, Atek, Mario, Radit, Dian, Yeane, Herry, Fredy, Tri Nug, Dedik, Melin, Acong, Yohanes + Kristin, JB, Wiwie serta teman–teman yang tidak dapat saya sebut satu persatu, terima kasih atas kebersamaan, keakraban dan bantuan serta dukungannya selama ini.
9. Teman-teman yang mendukung Andre atas PDAnya, Yoyok, Danang, Beni, Winda, Mia, Iir, Yuni, Budi, Mang Juhay, Krisna, Agung Angkringan.
10. Teman-teman AC ANILOP dan teman-teman main futsal di Hall : Marcell, Andri, Dedi, Beni, Martin, Anes, Edvan, Ucok, Lasrow, Yuris, Robert, Lilik, Heru, Ulis, Yuli, Gusur, Angga.
11. Radiohead, Muse, Coldplay, Oasis atas karya – karyanya yang menemani penulis saat menyelesaikan ini semua.
12. Shogun dan Smash yang menemani disaat apapun.
14. Semua pihak yang tidak dapat penulis sebutkan satu persatu, yang telah memberikan dukungan serta bantuannya guna penyusunan karya tulis ini
Penulis menyadari sepenuhnya bahwa Tugas Akhir ini masih jauh dari kesempurnaan dan masih banyak kekurangan. Oleh karena itu penulis sangat mengharapkan kritik dan saran yang bersifat membangun demi perbaikan lebih lanjut. Penulis berharap semoga Tugas akhir ini dapat bermanfaat dan berguna bagi pembaca.
Yogyakarta, Oktober 07
xii
Halaman Persetujuan ... iii
Halaman Pengesahan ... iv
Pernyataan Keaslian Karya ... v
Halaman Persembahan... vi
Abstraksi ... vii
Abstract ... viii
Kata Pengantar... ix
Daftar Isi... xii
Daftar Gambar ... xvi
Daftar Tabel... xix
BAB I PENDAHULUAN 1.1 Latar Belakang Masalah... 1
1.2 Rumusan Masalah... 2
1.3 Batasan Masalah ... 2
1.4 Tujuan Penulisan... 2
1.5 Metode Penulisan... 3
1.6 Sistematika Penulisan... 3
BAB II LANDASAN TEORI 2.1 Sistem Informasi ... 5
2.2 Metodologi Pengembangan Sistem... 6
2.3 Use Case Diagram ... 7
2.4 ERD... 8
2.5 DFD... 11
2.6 Bluetooth ... 13
2.6.1 Protokol Bluetooth... 14
2.6.2 Layer pada Bluetooth... 14
2.7 HTML... 16 2.8 PHP ... 17 2.8.1 Keuntungan PHP ... 18 2.8.2 Cara Kerja PHP ... 19 2.8.3 Penulisan PHP... 20 2.8.4 Vaiabel PHP... 20
2.8.5 Tipe Data Pada PHP ... 20
2.8.6 Operator Aritmatika ... 21
2.8.7 Operator Logika ... 22
2.8.8 Fungsi ... 22
2.8.9 Struktur Kendali / Struktur Kontrol ... 23
2.8.9.2 Perulangan... 24
2.8.10 Array / Larik... 26
2.8.11 Requir ( ) dan Include( ) ... 26
2.8.12 Manajemen File dan Direktori ... 26
2.9 MySQL... 28
2.9.1 Keunggulan MySQL ... 28
2.9.2 Database, Tabel, Baris, Kolom... 30
2.9.3 Tipe Data pada MySQL... 30
2.9.4 Membuat Database ... 32
2.9.5 Membuka Database ... 32
2.9.6 Membuat Tabel ... 32
2.9.7 Insert Query ... 32
2.9.8 Select Query ... 32
2.9.9 Menyaring Hasil Select Query dengan WHERE ... 33
2.9.10 Operator Yang Digunakan Dalam Kriteria WHERE ... 33
2.9.11 Mensortir Data ... 34
2.9.12 Delete Query ... 34
2.9.13 Update Quey ... 35
BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Sistem ... 36
3.1.1 Gambaran Sistem ... 36
3.1.2 Use Case Diagram ... 37
3.1.3 DFD ... 38
3.1.3.1 Context Diagram ... 39
3.1.3.2 DiagramBerjenjang... 39
3.1.3.3 Overview Diagram ... 41
3.1.3.3.1 Overview Diagram Level 0 ... 41
3.1.3.3.2 Overview Diagram Proses 1 Level 1 ... 42
3.1.3.3.3 Overview Diagram Proses 2 Level 1 ... 43
3.1.3.3.4 Overview Diagram Proses 3 Level 1 ... 44
3.1.3.3.5 Overview Diagram Proses 4 Level 1 ... 44
3.1.3.3.6 Overview Diagram Proses 8 Level 1 ... 45
3.1.3.4 DFD Gabungan ... 46
3.1.4 ERD ... 47
3.2 Disain Sistem ... 47
3.2.1 Disain Infrastruktur Jaringan ... 48
3.2.2 Disain Database ... 48
3.2.2.1 Disain Logical ... 48
3.2.2.2 Disain Fisikal ... 49
3.2.3 Disain User Interface ... 51
3.2.3.1 Disain User Interface pada Desktop... 51
3.2.3.1.1 Tampilan Untuk Admin ... 53
3.2.3.1.1.1 Form Tambah Menu ... 54
3.2.3.1.1.2 Form Update Menu... 55
3.2.3.1.1.4 Form Tambah Koki... 57
3.2.3.1.1.5 Form Tambah Kasir ... 58
3.2.3.1.1.6 Form Ganti Password ... 59
3.2.3.1.2 Tampilan Untuk Koki ... 60
3.2.3.1.2.1 Form Lihat Pesanan ... 61
3.2.3.1.2.2 Form Ganti Password ... 61
3.2.3.1.3 Tampilan Untuk Kasir... 62
3.2.3.1.3.1 Form Pembayaran ... 63
3.2.3.1.3.2 Form Laporan Penjualan ... 64
3.2.3.1.3.3 Form Ganti Password ... 65
3.2.3.2 Tampilan Pada PDA ... 65
3.2.3.2.1 Form Menu Pelayan... 66
3.2.3.2.2 Form Menu Makanan ... 66
3.2.3.2.3 Form Tambah Pesanan... 67
3.2.3.2.4 Form Update Pesanan... 67
3.2.3.2.5 Form Ganti Password ... 68
3.2.4 Disain Struktur Menu ... 69
BAB IV IMPLEMENTASI 4.1 Implementasi ... 70
4.2 Pembuatan Database... 71
4.3 User Interface ... 74
4.3.1 User Interface pada Desktop... 75
4.3.1.1 User Interface pada Admin... 78
4.3.1.1.1 Form Tambah Menu Makanan... 79
4.3.1.1.2 Form Tambah Update Menu... 81
4.3.1.1.3 Form Tambah Pelayan ... 86
4.3.1.1.4 Form Ganti Password ... 89
4.3.1.1.5 Logout ... 91
4.3.1.2 User Interface pada Koki... 91
4.3.1.2.1 Form Lihat Pesanan ... 92
4.3.1.3 User Interface pada Kasir ... 94
4.3.1.3.1 Form Pembayaran... 94
4.3.1.3.2 Form Laporan Penjualan... 99
4.3.2 User Interface pada Mobile Device... 100
4.3.2.1 Form Login ... 101
4.3.2.2 Menu Utama... 103
4.3.2.3 Menu Makanan... 103
4.3.2.4 Form Tambah Pesanan ... 107
4.3.2.5 Form Update Pesanan... 110
4.3.2.6 Form Ganti Password... 112
BAB V ANALISIS HASIL 5.1 Analisa Hasil... 114
5.2 Kelebihan Sistem yang Dibuat ... 114
BAB VI KESIMPULAN
6.1 Kesimpulan... 116 6.2 Saran... 116 DAFTAR PUSTAKA
xvi
2.2 Simbol Actor 8
2.3 Simbol depend on 8
2.4 Lambang dari entitas 9
2.5 Penulisan Atribut 9
2.6 Contoh dari relasi 10
2.7 Notasi dari kardinalitas 10
2.8 Entitas luar 11
2.9 Simbol aliran Data 12
2.10 Simbol Proses 12
2.11 Simbol Berkas 13
2.12 Gambar Layer-layer pada Bluetooth 16
2.13 Cara Kerja PHP 19
3.1 Use Case Diagram 37
3.2 Context Diagram 39
3.3 Diagram Berjenjang 40
3.4 Overview diagram level 0 41
3.5 Overview diagram Proses 1 Level 1 42 3.6 Overview diagram proses 2 Level 1 43 3.7 Overview diagram proses 3 Level 1 44 3.8 Overview diagram proses 4 Level 1 45 3.9 Overview diagram proses 8 Level 1 45
3.10 DFD gabungan 46
3.11 ER Diagram 47
3.12 Disain Infrastruktur Jaringan 48
3.13 Disain Database 49
3.14 Disain Login 52
3.16 Menu Admin 53
3.17 Form Tambah Menu 54
3.18 Form Update Menu 55
3.19 Form Tambah Pelayan 56
3.20 Form Tambah Koki 57
3.21 Form Tambah Kasir 58
3.22 Form Ganti Password 59
3.23 Form Menu Koki 60
3.24 Form Lihat Pesanan 61
3.25 Form Ganti Password Koki 61
3.26 Form Menu Kasir 62
3.27 Form Pembayaran 63
3.28 Form Laporan Penjualan 64
3.29 Form Ganti Password Kasir 65
3.30 Form Login 65
3.31 Form Daftar Menu 66
3.32 Form Menu Makanan 66
3.33 Form Tambah Pesanan 67
3.34 Form Update Pesanan 68
3.35 Form Ganti Password Pelayan 68
3.36 Disain Struktur Menu Admin 69
3.37 Disain Struktur Menu Pelayan 69
3.38 Disain Struktur Menu Koki 70
3.39 Disain Struktur Menu Kasir 70
4.1 Index 75
4.2 Form Login 75
4.3 Menu Utama pada Admin 79
4.4 Form Tambah Menu Makanan 80
4.5 Form Update Menu I 82
4.7 Form Update Makanan 83
4.8 Form Hapus Menu Makanan 84
4.9 Form Tambah Pelayan 86
4.10 Form Ganti Password 89
4.11 Tampilan untuk Koki 92
4.12 Form Lihat Pesanan 92
4.13 Tampilan untuk Kasir 94
4.14 Form Pembayaran 95
4.15 Form Laporan 99
4.16 Tampilan index 100
4.17 Tampilan Form Login 101
4.18 Menu Utama Pelayan 103
4.19 Daftar Menu Makanan 104
4.20 Tampilan Detail Makanan 104
.4.21 Form Tambah Pesanan 107
4.22 Form Update Pesanan 110
xix
DAFTAR TABEL
Tabel Keterangan Halaman
2.1 Tabel Protokol-protokol dan Layer-layer pada Stack Protocol Bluetooth
14
2.2 Tabel Operator Aritmatika pada PHP 22 2.3 Tabel Operator Logika pada PHP 22 2.4 Beberapa fungsi manajemen file dan
direktori pada PHP
26
2.5 Tabel Tipe Data MySQL 31
2.6 Tabel Operator MySQL 33
2.7 Tabel Operator Logika MySQL 34
3.1 Tabel input-output 38 3.2 Tabel Admin 48 3.3 Tabel Pelayan 48 3.4 Tabel Koki 50 3.5 Tabel Kasir 50 3.6 Tabel Makanan 50 3.7 Tabel Pesanan 50
1 1.1. Latar Belakang Masalah
Salah satu tujuan utama dari sebuah rumah makan atau resto/ran adalah memberikan layanan yang cepat, tepat (tanpa kesalahan), memuaskan. Tujuan utama lain supaya laris dan mendapat keuntungan yang sebesar– besarnya, efisien dan efektif. Tujuan tersebut dapat dicapai salah satunya menggunakan teknologi informasi.
Suatu sistem informasi berbasis komputer diharapkan mampu meningkatkan kinerja suatu rumah makan atau resto. Dengan adanya sistem informasi ini minimal akan membantu mempercepat pelayanan dan mengurangi masalah intern dalam sebuah resto. Masalah yang biasa terjadi yaitu hilangnya berkas-berkas nota, dengan adanya sistem yang akan dibuat hal semacam itu bisa dihindarkan, sehingga tidak menggangu dalam pembuatan laporan penjualan.
Perkembangan teknologi dewasa ini sangat pesat, akhir–akhir ini kata “Bluetooth” tidak lagi asing di telinga. Teknologi Bluetooth merupakan salah satu bentuk koneksi antar device yang digunakan untuk berbagai macam kegunaan. Saat ini PDA (Personal Data Assistant) dengan fitur Bluetooth sudah umum dan banyak di pasaran, dengan teknologi ini penulis melakukan penelitian untuk membuat suatu Sistem Layanan Resto dengan memanfaatkan fitur Bluetooth pada perangkat PDA sebagai infrastruktur jaringan. Dengan
fitur Bluetooth ini, sistem informasi yang dibangun menjadi suatu sistem informasi resto/an yang mobile.
1.2. Rumusan Masalah
Rumusan masalah yang ada adalah bagaimana memanfaatkan fitur teknologi Bluetooth pada perangkat PDA untuk membangun suatu Sistem Layanan Resto yang murah, praktis, handal dan mobile.
1.3. Batasan Masalah
Batasan masalah dalam penulisan ini ditujukan untuk membantu penulis menyelesaikan penelitian ini. Batasan masalah yang dihadapi adalah membuat suatu Sistem Layanan Resto dengan memanfaatkan fitur Bluetooth yang terdapat pada PDA. Sistem yang akan dibuat belum menyertakan fasilitas keamanan. Perangkat lunak yang digunakan penulis untuk menyelesaikan penelitian ini antara lain dengan PHP dan MySQL.
1.4. Tujuan Penulisan
Penulisan ini bertujuan untuk membuat Sistem Layanan Resto dengan basis teknologi Bluetooth, yang diharapkan mampu meningkatkan kinerja dari suatu resto.
1.5. Metode Penulisan
Metode penulisan yang digunakan adalah sebagai berikut:
1. Melakukan studi pustaka, yaitu mempelajari referensi-referensi yang berhubungan dengan Teknologi Bluetooth, PHP dan MySQL. Referensi tersebut dapat berasal dari Internet maupun literatur media cetak,
2. Merancang program, antara lain merancang sistem secara umum, merancang menu dan tampilan pada sistem computer, maupun infrastruktur Bluetooth,
3. Membuat program, mengkonversikan rancangan ke bentuk nyata satu program utuh,
4. Menganalisa dan menguji program.
1.6. Sistematika Penulisan
Untuk mempermudah memahami skripsi ini, penulis menggunakan sistematika penulisan sebagai berikut:
BAB I PENDAHULUAN
Mencakup latar belakang masalah, rumusan masalah, batasan masalah, tujuan penulisan, metode penulisan dan sistematika penulisan.
BAB II LANDASAN TEORI
Membahas teori tentang sistem informasi, prinsip-prinsip pemrograman HTML, PHP dan MySQL, dibahas pula
tentang penggunaannya disertai dengan dasar-dasar teori mengenai teknologi Bluetooth.
BAB III ANALISA DAN PERANCANGAN SISTEM
Menjelaskan tentang analisa infrastruktur Bluetooth serta analisa dan desain program yang meliputi rancangan sistem secara umum, rancangan basis data, rancangan antarmuka/interface, serta rancangan input/output.
BAB IV IMPLEMENTASI
Bab ini berisi implementasi masing-masing tampilan atau antarmuka, pembahasan sistem pada masing-masing antarmuka dan implementasi infrastruktur Bluetooth. BAB V ANALISA HASIL IMPLEMENTASI
Berisi penerapan dan pengujian aplikasi beserta kelebihan dan kekurangan sistem informasi dan infrastruktur Bluetooth yang diimplementasikan.
BAB VI KESIMPULAN DAN SARAN
Berisi kesimpulan yang terdiri atas kelebihan dan kelemahan sistem yang dibuat.
5 2.1. Sistem Informasi
Sistem informasi merupakan sekumpulan data yang diproses menurut prosedur-prosedur dan komponen-komponen yang saling berinteraksi untuk mencapai tujuan tertentu. Tujuan dari sistem informasi adalah menghasilkan sebuah informasi. Informasi itu sendiri adalah sekumpulan data yang sudah diolah dan proses sehingga bisa menghasilkan sesuatu yang lebih berguna dan mudah dipahami oleh orang yang membutuhkan.
Sumber dari informasi adalah data. Data merupakan kesatuan dari berbagai macam kejadian nyata. Ada tujuh kriteria informasi yang harus diperhatikan didalam pembangunan sistem informasi (Panca, 2006). Tujuh kriteria tersebut adalah:
1. Efektif. Informasi harus berhubungan dengan proses bisnis dan dapat terkirim dengan ketepatan waktu, tidak berubah, konsisten dan dapat dipergunakan dengan baik.
2. Efisien. Informasi yang akan dipergunakan selalu tersedia secara optimal, menciptakan waktu yang efisien dan mampu memberikan nilai ekonomis.
3. Sensitif. Informasi yang sensitif harus terlindungi dan tertutup dari penggunaan orang yang tidak berhak.
4. Integritas. Informasi yang tersedia tetap akurat dan lengkap serta terjaga integritasnya, misal bila terjadi perubahan data, maka keaslian sumber data tetap terjaga integritasnya.
5. Ketersediaan. Informasi harus tersedia ketika dibutuhkan, oleh proses bisnis, sekarang maupun yang akan datang. Harus diperhatikan juga kemanan informasi bila akan dipergunakan oleh lingkungan liar. 6. Sesuai. Informasi yang tersedia memiliki kesesuaian dengan hukum
(tidak melanggar), sesuai dengan regulasi atau sesuai dengan perjanjian contract management.
7. Handal. Informasi patut tersedia untuk manajemen dan dapat dioperasikan atau dimanfaatkan hingga bagian kecil dari entitas proses bisnis dan mampu membuat laporan yang dapat dipertanggungjawabkan.
Menurut Whitten, sistem informasi adalah suatu susunan dari orang, data, proses, dan teknologi informasi yang saling berinteraksi mengumpulkan, memproses, menyimpan, dan menyediakan output berbentuk informasi yang dibutuhkan untuk mendukung organisasi (Whitten, 2004).
2.2. Metodologi Pengembangan Sistem
Metodologi pengembangan sistem (system development methodology) adalah sebuah proses dari stage system development, yang mendefinisikan sekumpulan aktifitas, metode, praktek terbaik, deliverables dan tools
otomatis yang dapat digunakan oleh stakeholder untuk mengembangkan dan meningkatkan sistem secara berkelanjutan.
Metodologi pengembangan sistem secara terstruktur (SADM) adalah metodologi pengembangan sistem yang metode analisis dan desainnya berorientasi atau lebih fokus pada proses untuk memecah program yang besar kedalam modul-modul sehingga hasil program lebih mudah diimplementasikan dan dipelihara (maintenance), modul tersebut digambarkan dengan structure chart misalnya seperti Data Flow Diagram (DFD). Metodologi ini masuk kedalam model Driven Analysis and Design Approaches.
2.3 Use Case Diagram
Use case diagram adalah sebuah diagram yang menggambarkan interaksi antara sistem atau sebuah proses dalam sistem tersebut, eksternal sistem dan pemakai. Use case merupakan bagian dari keseluruhan sistem.
Gambar 2.1. Simbol Use Case
Actor merupakan segala sesuatu yang dibutuhkan untuk berinteraksi dengan sistem untuk mengubah informasi. Dapat berupa orang, organisasi atau sistem informasi yang lain atau juga suatu waktu kejadian.
Gambar 2.2. Simbol Actor
Use case depends on relationship merupakan sebuah relasi use case yang menentukan bahwa sebuah use case bergantung pada use case sebelumnya. Digambarkan sebagai anak panah yang dimulai dari satu use case dan menunjuk ke use case lain yang tergantung kepadanya.
Gambar 2.3. Simbol depend on
Dengan maksud bahwa Proses 2 baru bisa dilakukan atau dieksekusi setelah Proses 1 dieksekusi terlebih dahulu.
2.4 ERD (Entity Relationship Diagram)
ERD ini adalah merupakan diagram yang menggambarkan proses hubungan (hubungan secara logika) antar entitas pembangun sistem. Masing-masing entitas memiliki atribut yang mencirikan entitas itu sendiri. Dalam konteks hubungan antar entitas juga memiliki tiga jenis, yaitu: satu
<<depend on>>
ke satu (one to one), satu ke banyak (one to many) atau sebaliknya, dan banyak ke banyak (many to many).
Komponen-komponen dalam ER Diagram:
1. Entitas / Entity adalah sebuah kumpulan dari orang, tempat, objek, kejadian atau konsep yang diperlukan untuk menyimpan data. Nama entitas berupa kata benda tunggal. Gambar 2.4 merupakan lambang dari entitas.
Gambar 2.4. Lambang dari entitas
2. Atribut merupakan sebuah sifat atau karakteristik deskriptif dari sebuah entitas. Gambar 2.5 merupakan contoh penulisan alamat di dalam lambang entitas.
Gambar 2.5. Penulisan atribut
3. Relasi / Relationship adalah sebuah asosiasi bisnis normal yang ada antara satu atau lebih entitas. Relasi mungkin juga mewakili suatu
kejadian yang menghubungkan antara entitas atau logika gabungan antara entitas. Gambar 2.6 merupakan contoh dari relasi.
nama entitas 1 nama entitas 2
Gambar 2.6 Contoh dari Relasi
4. Kardinalitas (derajat relasi) / Cardinality merupakan minimum dan maksimum kejadian dari sebuah entitas yang dihubungkan dengan kejadian tunggal dari entitas yang lain. Karena seluruh relasi adalah bidirectional maka kardinalitas harus didefinisikan pada kedua arah untuk setiap relasi. Gambar 2.7 merupakan notasi dari kardinalitas.
2.5 DFD (Data Flow Diagram)
DFD (Data Flow Diagram) dari namanya dapat tersirat bahwa diagram ini menggambarkan aliran data, digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan dikembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir atau lingkungan fisik dimana data tersebut akan disimpan. DFD merupakan alat yang digunakan pada metodologi pengembangan sistem yang terstruktur (Structured Analysis and Design).
Beberapa simbol DFD yang dipakai untuk menggambarkan data beserta proses transformasi data, antara lain :
a. Entitas Luar / External Entity
Entitas luar merupakan sumber atau tujuan dari aliran data dari atau ke sistem. Entitas luar merupakan lingkungan luar sistem, jadi sistem tidak tahu menahu mengenai apa yang terjadi di entitas luar.
b. Aliran data / Data Flow
Untuk menggambarkan aliran data dari suatu proses ke proses lainnya.
Gambar 2.9 Simbol Aliran Data
c. Proses
Untuk mentransformasikan atau merepresentasikan proses yang terjadi pada data atau fungsi yang berada dalam sistem yang dimodelkan.
Gambar 2.10 Simbol Proses
Bagian atas (id) biasanya berisi nomor untuk identitas proses. Bagian badan (nama proses) berisi penjelasan fungsi dari proses, diawali dengan kata kerja dan diikuti dengan objek.
d. Berkas / Data Store
Merupakan komponen yang berfungsi untuk menyimpan data atau file. Gambar 2.11 merupakan simbol berkas.
Gambar 2.11 Simbol Berkas
2.6 Bluetooth
Nama Bluetooth berawal dari proyek prestisius yang dipromotori oleh perusahaan-perusahaan raksasa internasional yang bergerak di bidang telekomunikasi dan komputer, di antaranya Ericsson, IBM, Intel, Nokia, dan Toshiba. Proyek ini di awal tahun 1998 dengan kode nama Bluetooth, karena terinspirasi oleh seorang raja Viking (Denmark) yang bernama Harald Blatand. Raja Harald Blatand ini berkuasa pada abad ke-10 dengan menguasai sebagian besar daerah Denmark dan daerah Skandinavia pada masa itu. Dikarenakan daerah kekuasaannya yang luas, raja Harald Blatand ini membiaya para ilmuwan dan insinyur untuk membangun sebuah proyek berteknologi metamorfosis yang bertujuan untuk mengontrol pasukan dari suku-suku di daerah Skandinavia tersebut dari jarak jauh. Maka untuk menghormati ide raja Viking tersebut, yaitu Blatand yang berarti Bluetooth (dalam bahasa Inggris) proyek ini diberi nama. Bluetooth menggunakan salah satu dari dua jenis frekuensi Spread Specturm Radio yang digunakan untuk kebutuhan wireless. Jenis frekuensi yang digunakan adalah Frequency
Hopping Spread Spedtrum (FHSS), sedangkan yang satu lagi yaitu Direct Sequence Spread Spectrum (DSSS) digunakan oleh IEEE802.11xxx. Transceiver yang digunakan oleh Bluetooth bekerja pada frekuensi 2,4 GHz unlicensed ISM (Industrial, Scientific, and Medical).
2.6.1 Protokol Bluetooth
Protokol-protokol Bluetooth dimaksudkan untuk mempercepat pengembangan aplikasi-aplikasi dengan menggunakan teknologi Bluetooth. Layer-layer bawah pada stack protokol Bluetooth dirancang untuk meyediakan suatu dasar yang fleksibel untuk pengembangan protokol lebih lanjut.
Protocol layer Protocol in the stack
Bluetooth Core Protocols Baseband, LMP, L2CAP, SDP Cable Replacement Protocols RFCOMM
Telephony Control Protocol TCS Binary, AT-commands
Adopted Protocols PPP, UDP/TCP/IP, OBEX, WAP, vCard, vCall, IrMC, WAE
Tabel 2.1. Tabel Protokol-protokol dan Layer-layer pada Stack Protocol Bluetooth
2.6.2 Layer pada Bluetooth
Tiga buah lapisan (layer) fisik dasar dalam protokol arsitektur Bluetooth: 1. Bluetooth Radio
Lapisan terendah dari spesifikasi Bluetooth, lapisan ini mendefinisikan persyaratan yang harus dipenuhi oleh perangkat tranceiver yang beroperasi pada frekuensi 2,4 Ghz ISM.
2. Baseband
Lapisan yang memungkinkan hubungan RF terjadi antara beberapa unit Bluetooth membentuk piconet. Sistem RF dari Bluetooth ini menggunakan frekuensi –hopping-spread spectrum- yang mengirimkan data dalam bentuk paket pada time slot dan frekuensi yang telah ditentukan, lapisan ini melakukan prosedur pemeriksaan dan paging untuk sinkronisasi transmisi frekuensi hopping dan clock dari perangkat Bluetooth yang berbeda.
3. LMP
Link Manager Protocol bertanggung jawab terhadap link setup antar perangkat Bluetooth. Hal ini termasuk aspek sekutiri seperti autentifikasi dan enkripsi dengan pembangkitan, penukaran dan pemeriksaan ukuran paket dari lapis baseband.
Gambar 2.12. Gambar Layer-layer pada Bluetooth
2.7 HTML (Hypertext Transfer Protocol)
HTML (Hypertext Markup Language) adalah bahasa pendeskripsi halaman yang menciptakan dokumen-dokumen hypertext atau hypermedia. HTML memasukkan kode-kode pengendali dalam sebuah dokumen pada berbagai poin yang dapat dispesifikasikan, yang dapat menciptakan hubungan (hyperlink) dengan bagian lain dari dokumen tersebut atau dengan dokumen lain yang berada di World Wide Web.
Sebuah halaman web minimal mempunyai empat buah tag, yaitu:
2. <head> Sebagai informasi page header. Di dalam tag ini bisa diletakkan
tag TITLE, BASE, LINK, SCRIPT, STYLE & META.
3. <title> Sebagai title atau judul halaman. Kalimat yang terletak di
dalam tag ini akan muncul pada bagian paling atas browser (pada title bar).
4. <body> Sebagai isi (yang tampak) pada halaman web, dapat berupa teks,
grafik dan lain-lain.
Kode HTML dapat di simpan dengan ekstensi .htm atau .html.
2.8 PHP
PHP adalah salah satu bahasa pemrograman di internet. PHP adalah salah satu teknologi yang biasa digunakan untuk membuat halaman web yang dinamis dan interaktif. PHP tergolong sebagai server-site programming. PHP dibangun sekitar tahun 1994 oleh Rasmus Lerdoff. PHP versi 3 ditulis ulang oleh Zeev Suraski dan Andi Gutmans pada tahun 1998.
PHP bekerja hampir sama seperti JSP dan ASP. Skrip diawali dengan
tag <?php …… dan diakhiri dengan tag ……?> serta dimasukkan ke halaman
HTML. Skrip ini akan dieksekusi oleh server sebelum halaman tersebut dikirim ke browser klien, sehingga tidak mungkin ada ketidakcocokan platform mesin browser klien. Tidak seperti ASP, PHP dapat dijalankan multiplatform. PHP dapat dijalankan di web server IIS dan Apache, di sistem operasi Windows, UNIX dan Linux.
2.8.1 Keuntungan PHP
PHP begitu cepat populer dan berkembang begitu cepat karena PHP memiliki beberapa keuntungan, yaitu:
1. Cepat, karena ditempelkan (embedded) di dalam kode HTML, sehingga waktu tanggap jadi pendek.
2. Gratis.
3. Mudah untuk digunakan. PHP berisi beberapa fitur khusus dan fungsi yang dibutuhkan untuk membuat halaman Web dinamis. Bahasa PHP dirancang untuk dimasukkan dengan mudah di dalam file HTML. 4. Berjalan pada beberapa sistem operasi. PHP dapat dijalankan pada
sistem operasi yang beragam, seperti Windows, Linux, Mac OS dan kebanyakan variasi UNIX.
5. Dukungan teknis tesedia luas. Tersedia dukungan layanan diskusi via e-mail.
6. Aman. Pengguna tidak dapat melihat kode PHP, karena kode yang ditampilkan pada browser adalah kode HTML.
7. Dirancang untuk mendukung database. PHP meliputi kemampuan yang dirancang untuk berinteraksi dengan database tertentu.
8. Customizable. Lisensi open source, sehingga mengijinkan para pemrogram untuk memodifikasi software PHP supaya sesuai dengan lingkungannya.
2.8.2 Cara kerja PHP
Cara kerja PHP dapat dilihat pada gambar di bawah ini:
Gambar 2.13 Cara kerja PHP
Saat ada permintaan suatu halaman dari browser klien, server web akan melakukan 4 langkah:
1. membaca permintaan browser.
2. mencari halaman html yang diminta di server.
3. mengeksekusi perintah PHP sehingga halaman html termodifikasi 4. mengirim halaman html yang diminta ke browser klien melalui
media internet atau intranet.
Setelah halaman html diterima oleh klien, browser klien akan menerjemahkan halaman html tersebut ke bentuk web.
2.8.3 Penulisan PHP
Tata cara penulisan php:
1. <?php …… ?>
2. <? …… ?>
3. <SCRIPT LANGUAGE=”php”>……</SCRIPT>
2.8.4 Variabel PHP
PHP dapat menyimpan data ke dalam suatu variabel, lalu untuk mengakses data tersebut, dilakukan dengan cara memanggil variabel tersebut. Sintak dasar PHP mirip dengan sintak bahasa C sehingga bersifat case sensitif.
2.8.5 Tipe Data Pada PHP
PHP memiliki 6 buah tipe data, yaitu : a. Empat tipe skalar :
− boolean
Tipe data Boolean meliputi nilai benar (true,1) atau salah (false,0). − integer
Tipe data Integer meliputi semua bilangan bulat pada range – 2,147,483,648 sampai +2,147,483,647 pada platform 32 bit. Integer dapat dinyatakan dalam bentuk oktal, desimal, maupun heksadesimal.
− floating-point number (float)
Tipe data floating point merepresentasikan bilangan pecahan atau bilangan desimal pada range 1.7E-308 sampai 1.7+308, yang dapat dinyatakan dalam bentuk eksponensial maupun desimal.
− string
Tipe data string dinyatakan dengan mengapitnya menggunakan tanda petik tunggal (‘ ‘) maupun ganda (“ “). Jika menggunakan tanda petik tunggal, pada string tersebut tidak dapat dimasukkan variabel.
b. Dua tipe gabungan : − array
Array adalah sebuah data yang mengandung satu atau lebih data dan dapat diindeks berdasarkan numerik maupun string. Array dapat dideklarasikan dengan langsung memasukkan nilainya atau dengan menggunakan fungsi array() atau list().
− object
Tipe data object dapat berupa sebuah bilangan, variabel atau bahkan sebuah fungsi.
2.8.6 Operator Aritmatika
Operator aritmatika merupakan operator yang berhubungan dengan fungsi matematika. Operator-operator yang biasa digunakan:
Operator Operasi + Penambahan - Pengurangan * Perkalian
/ Pembagian bulat
% Modulus / Sisa hasil bagi Tabel 2.2 Tabel Operator Aritmatika pada PHP
2.8.7 Operator Logika
Operator logika berfungsi untuk membandingkan kondisi benar (true) dan salah (false). Seperti bahasa C nilai benar adalah bernilai 1 dan salah adalah bernilai 0.
Operator Operasi
= = Sama dengan
!= Tidak sama dengan
< Lebih kecil
> Lebih besar
< = Lebih kecil sama dengan > = Lebih besar sama dengan AND atau && Logika AND OR atau || Logika OR
XOR Logika XOR
! Logika not
Tabel 2.3 Tabel Operator Logika pada PHP
2.8.8 Fungsi
Seperti pada bahasa C, PHP mempunyai fungsi yang mempunyai nilai balik ada juga yang tidak mempunyai nilai balik. Fungsi beragumen juga dikenal di PHP baik dengan teknik passing by value dan passing by
reference. Perintah untuk membuat fungsi dalam PHP adalah fuction. Perintah return yang digunakan untuk mengembalikan nilai tertentu.
fuction nama_fungsi(argumen) {
kode perintah }
2.8.9 Struktur Kendali / Struktur Kontrol
Ada dua jenis struktur kendali didalam PHP, yaitu : struktur percabangan dan struktur perulangan.
2.8.9.1 Percabangan
Perintah percabangan adalah perintah yang memungkinkan pemilihan atas perintah yang akan dijalankan sesuai dengan kondisi tertentu (sebagai pengambilan keputusan). Ada 3 macam perintah percabangan, yaitu : IF, IF...ELSE, dan SWITCH.
a. IF
IF digunakan untuk menjalankan satu atau lebih perintah yang menyatakan keadaan. Format penulisannya adalah sebagai berikut :
If (kondisi) {
Perintah yang akan dijalankan jika kondisi benar
}
IF...ELSE mirip dengan perintah IF hanya saja didalam IF...ELSE digunakan untuk banyak blok perintah. Format penulisannya adalah :
If (kondisi1) {
Perintah 1 yang akan dijalankan jika kondisi1 benar
}
Elseif (kondisi2) {
Perintah 2 yang akan dijalankan jika kondisi 1 bernilai salah dan kondisi 2 bernilai benar }
Else {
Perintah yang dijalankan jika kondisi 1 dan 2 salah
}
c. SWITCH
Format penulisan perintah SWITCH adalah :
switch (kondisi) { case konstanta1 : perintah1; break; case konstanta2 : perintah2; break; default : perintah default; } 2.8.9.2 Perulangan
Perulangan digunakan untuk mengulang suatu perintah tanpa menulis perintah yang akan diulang sebanyak perulangan yang diinginkan. Didalam PHP ada tiga macam perintah pengulangan, yaitu :
a. FOR
Perintah FOR digunakan untuk mengulang perintah dengan jumlah perulangan yang sudah diketahui. Pada perintah FOR tidak ada kondisi
yang diuji yang diperlukan hanyalah mendeklarasikan nilai awal dan akhir variabel penghitung. Nilai variabel penghitung secara otomatis bertambah atau bekurang setiap kali perulangan dilaksanakan. Format penulisannya adalah :
for ($i=nilai_awal, $i=nilai_akhir, $i++ atau $i--) {
perintah yang akan dijalankan }
b. WHILE
Perintah WHILE digunakan untuk mengulang sebuah perintah sampai kondisi tertentu bernilai salah. Perulangan akan terus berjalan selama kondisi masih bernilai benar. Format penulisan perintahnya adalah :
while (kondisi)
{ perintah yang akan dijalankan }
c. DO...WHILE
Perintah ini mirip dengan perintah WHILE. Proses perulangan akan berjalan selama kondisi yang diperiksa di WHILE bernilai benar dan perulangan dihentikan jika kondisinya sudah bernilai salah. Perbedaan WHILE dan DO...WHILE adalah letak dari kondisi yang diperiksa. Pada perintah WHILE terletak di awal perulangan sehingga sebelum masuk ke perulangan kondisi tersebut harus bernilai benar. Sedangkan pada DO...WHILE, kondisi diperiksa diakhir perulangan. Ini berarti paling sedikit sebuah perulangan akan dilakukan DO...WHILE, karena untuk masuk perulangan tidak ada kondisi yang harus dipenuhi. Format penulisan perintahnya adalah :
do {
perintah yang akan dijalankan }while (kondisi)
2.8.10 Array / Larik
Array pada PHP mirip dengan array dalam bahasa C. Indeks larik dimulai dari indeks 0. Untuk menginisialisasi larik, ada beberapa cara yang dapat dilakukan.
$b[] = 'a'; $b[] = 'b'; $b[] = 'c';
Array diatas akan setara dengan inisialisasi array seperti di bawah ini:
$b[0] = 'a'; $b[1] = 'b'; $b[2] = 'c';
2.8.11 Require( ) dan Include( )
Fungsi require( ) adalah pernyataan yang berfungsi menukar fungsi
require( ) tersebut dengan isi file yang ditunjuk oleh fungsi tersebut.
Fungsi include( ) adalah sebuah fungsi yang bertujuan untuk
memasukkan atau mengikutsertakan file yang ditunjuk serta mengevaluasi file tersebut.
2.8.12 Manajemen File dan Direktori
Beberapa fungsi untuk manajemen file dan direktori pada PHP :
Fungsi Keterangan
$file_handler =
fopen(“nama_file”, “mode”);
Fungsi fopen() digunakan untuk membuka file.
mode “a” : untuk membuka dan menambah data pada akhir file.
read-only.
mode “w” : untuk membuka dan menulis file (data yang sudah ada pada file akan terhapus).
fclose($file_handler); Fungsi fclose() digunakan untuk menutup file.
1. fgets($file_handler); 2. fgets($file_handler, $max);
1. Digunakan untuk membaca satu baris dari file yang dibuka.
2. Digunakan untuk membaca satu baris file sebanyak $max -1 karakter. (termasuk spasi)
fread($file_handler, $max); Digunakan untuk membaca file sebanyak $max karakter (termasuk spasi).
fwrite($file_handler, $string); Digunakan untuk menulis $string kedalam file dan mengembalikan berapa bite yang dituliskan atau “FALSE” jika terdapat error.
file_get_contents(“nama_file”); Digunakan untuk membaca isi dari file kedalam string.
readfile(“nama_file”); Digunakan untuk membaca isi dari file dengan cara menuliskan isi secara direct ke output dan mengembalikan jumlah bite yang ditulis.
file_put_contents(“nama_file”, $string);
Digunakan untuk menulis $string kedalam file dengan menghilangkan isi file lama dan mengembalikan jumlah bite yang dituliskan.
- fseek($file_handler, $offset); - rewind($file_handler); - ftell($file_handler);
fseek() digunakan untuk men-set posisi pada $offset bite dari awal file.
rewind() digunakan untuk men-set dari posisi sekarang ke awal file.
ftell() digunakan untuk mengembalikan ke posisi sekarang.
unlink(“nama_file”); Digunakan untuk menghapus file. rename($lama, $baru); Digunakan untuk mengganti nama file
dari $lama menjdi $baru.
copy($original, $copy); Digunakan untuk menduplikat (copy) file $original ke file $copy.
mkdir($namafolder); rmdir($namafolder);
mkdir() digunakan untuk membuat folder dengan nama $namafolder.
rmdir() digunakan untuk menghapus folder $namafolder.
(kedua fungsi diatas bergantung pada system permission).
$namafile ada atau tidak, fungsi ini mengembalikan nilai TRUE atau FALSE Tabel 2.4. Beberapa fungsi manajemen file dan direktori pada PHP
2.9 MySQL
MySQL adalah multi user database yang menggunakan bahasa Structured Query Language (SQL). MySQL dalam operasi client-server melibatkan server daemon MySQL disisi server dan berbagai macam program serta library yang berjalan disisi client. MySQL mampu untuk menangani data yang cukup besar.
SQL adalah bahasa standar yang digunakan untuk mengakses server database. Bahasa ini pada awalnya dikembangkan oleh IBM, namun telah diadopsi dan digunakan sebagai standar industri. Dengan menggunakan SQL, proses akses database menjadi lebih user-friendly dibandingkan dengan menggunakan dBASE atau Clipper yang masih menggunakan perintah-perintah pemrograman.
2.9.1 Keunggulan MySQL
MySQL adalah suatu database populer dengan pengembang web (Web Developer). Kecepatan dan ukuran yang kecil membuatnya ideal untuk Web site. Ditambah lagi dengan fakta bahwa MySQL adalah open source, yang berarti gratis.
Dibawah ini adalah beberapa keuntungannya:
1. Cepat. Tujuan utama dari pengembangan MySQL adalah kecepatan, sebagai konsekuensi software yang dirancang dari awal untuk kecepatan.
2. Tidak mahal. MySQL adalah cuma-cuma dibawal lisensi GPL (General Public License) open source, sementara pembiayaan untuk lisensi komersialnya sangat pantas.
3. Mudah digunakan. Dapat berinteraksi dengan database hanya dengan menggunakan sedikit pernyataan (statement) sederhana di dalam bahasa SQL.
4. Dapat berjalan pada beberapa sistem operasi. MySQL dapat berjalan pada sistem operasi beragam, seperti Windows, Linux, Mac OS, variasi UNIX(Solaris, AIX, DEC), FreeBSD, OS/2, Irix dan lainnya. 5. Dukungan teknis tersedia luas. Menyediakan dukungan cuma-Cuma
untuk pengguna Mailing list, juga dapat membeli dari MySQL AB. 6. Aman. Sistem otorisasi fleksibel yang mengijinkan beberapa atau
semua privilege databaseuntuk pengguna khusus atau umum.
7. Mendukung data besar, mampu menangani database mencapai 50 juta baris.
8. Customizeable. Sifatnya yang open source membuat atau mengijinkan pengguna mampu untuk memodifikasi agar sesuai dengan lingkungan tertentu.
2.9.2 Database, Tabel, Baris, dan Kolom
Dalam konteks bahasa SQL, pada umumnya informasi tersimpan dalam tabel-tabel yang secara logic merupakan struktur dua dimensi yang terdiri atas baris-baris data yang berada dalam satu atau lebih kolom. Baris pada tabel sering disebut sebagai instance dari data, sedangkan kolom sering disebut sebagai attributes atau field. Keseluruhan tabel itu dihimpun dalam satu kesatuan yang disebut database.
kolom 1 kolom 2 . . . kolom m kolom 1 kolom 2 . . . kolom m
kolom 1 kolom 2 . . . kolom m . . . . . . . tabel 1 tabel 2 . . . tabel k baris 1 baris 2 baris n database
Gambar 2.13. Gambaran Database
2.9.3 Tipe Data pada MySQL
Berikut ini tabel tipe data yang dapat digunakan untuk field-field tabel pada database MySQL.
Tipe Data Keterangan
tinyint Ukuran terkecil dari integer smallint Ukuran kecil dari integer mediumint Ukuran menengah dari integer int,
integer
integer
bigint Ukuran terbesar dari integer float Presisi tunggal
double, double precision, real Presisi ganda decimal, numeric
Pecahan dengan range seperti tipe data double. date Tanggal. Format : ‘YYYY-MM-DD’
datetime Kombinasi tanggal dan jam.
Format : ‘YYYY-MM-DD HH:MM:SS’
timestamp Kombinasi tanggal dan jam yang berisi waktu saat tabel diakses.
Format : ‘YYMMDDHHMMSS’, ‘YYMMDDHHSS’, atau ‘YYMMDD’.
time Informasi Jam
Format : ‘HH:MM:SS’. year Informasi Tahun
Format : ‘YYYY’
char Karakter, dengan menghilangkan spasi pada saat penyimpanan.
Range : 1 s.d. 255 karakter. nchar,
national char
Karakter, dengan tidak menghilangkan spasi pada saat penyimpanan.
Range : 1 s.d. 255 karakter.
varchar Karakter, dengan menghilangkan spasi pada saat penyimpanan.
Range : 1 s.d. 255 karakter. tinyblob
tinytext
teks/blob dengan panjang karakter maksimal 255.
blob text
Deretan karakter yang panjang. Biasa dipakai sebagai pengganti format data text karena keterbatasan ukuran format text. Dengan panjang maksimum 65535 karakter.
medium blob medium text
teks/blob dengan panjang karakter maksimal 65535.
long blob long text
teks/blob dengan panjang karakter maksimal 16777215.
enum
(‘value1’,value2’,...)
Objek string yang hanya boleh diisi dari daftar pilihan value yang diberikan, NULL, atau error value. Maksimum value : 65535.
set
(‘value1’,value2’,...)
Objek string yang hanya boleh diisi dari daftar pilihan value yang diberikan, NULL, atau error value. Maksimum value : 64.
2.9.4 Membuat Database
Untuk membuat database gunakan perintah berikut ini :
mysql>CREATE DATABASE nama_database;
2.9.5 Membuka Database
Untuk membuka suatu database gunakan perintah berikut ini :
mysql>USE nama_database
2.9.6 Membuat Tabel
Setelah database terbuat dan kita telah membukanya, kita seharusnya membuat tabel yang akan menyimpan data yang kita butuhkan. Setiap perintah SQL pada MySQL harus diakhiri dengan titik koma (;). Pada prompt mysql ketikkan perintah berikut untuk membuat tabel.
mysql>CREATE TABLE nama_tabel mysql>( mysql>nama_field1 tipe_data1, mysql>nama_field2 tipe_data2, . . . mysql>); 2.9.7 Insert Query
Untuk mengisi data pada suatu tabel, kita gunakan perintah INSERT. Sintaks penulisannya adalah sebagai berikut :
mysql>INSERT INTO nama_tabel (field1, field2, ... ) VALUES (nilai_field1,nilai_field2, ... );
2.9.8 Select Query
Perintah ini digunakan untuk melihat data dari satu atau beberapa tabel. Sintaks penulisannya adalah sebagai berikut :
mysql>SELECT (fieldx, fieldx, ... ) FROM nama_tabel;
Untuk melihat semua kolom/field pada suatu tabel, sintaks penulisannya adalah sebagai berikut :
mysql>SELECT * FROM nama_tabel;
2.9.9 Menyaring Hasil Select Query dengan WHERE
Kita dapat membatasi hasil select query dengan keyword WHERE sehingga record-record yang dikeluarkan hanyalah record yang sesuai dengan kriteria yang diinginkan. Sintaks penulisannya adalah sebagi berikut :
mysql>SELECT (fieldx, fieldx, ... ) FROM nama_tabel WHERE kriteria;
2.9.10 Operator Yang Digunakan Dalam Kriteria WHERE Operator Equality dan Inequality
Operator Keterangan
= Operan kiri sama dengan operan kanan <> atau != Operan kiri tidak sama dengan operan kanan > Operan kiri lebih besar dari operan kanan
>= Operan kiri lebih besar atau sama dengan dari operan kanan
< Operan kiri lebih kecil dari operan kanan
<= Operan kiri lebih kecil atau sama dengan dari operan kanan
Operator Keterangan
And Operator logika ‘dan’ Or Operator logika ‘atau’ Tabel 2.7. Tabel Operator Logika MySQL
2.9.11 Mensortir Data
Hasil query dapat disortir sesuai dengan kebutuhan dengan keyword ORDER BY. Sintaks penulisannya adalah sebagai berikut :
mysql>SELECT (fieldx, fieldx, ... ) FROM nama_tabel ORDER BY kriteria;
Untuk mensortir dengan urutan terbalik, gunakan keyword tambahan DESC. Sintaks penulisannya adalah sebagai berikut :
mysql>SELECT (fieldx, fieldx, ... ) FROM nama_tabel ORDER BY kriteria DESC;
2.9.12 Delete Query
Berfungsi untuk menghapus suatu record dengan kriteria tertentu. Sintaks penulisannya adalah sebagai berikut :
mysql>DELETE FROM nama_tabel WHERE kriteria;
Untuk menghapus seluruh record pada suatu tabel, gunakan perintah DELETE tanpa menentukan kriterianya.
2.9.13 Update Query
Berfungsi untuk memodifikasi nilai kolom/field dari suatu record. Sintaks penulisannya adalah sebagai berikut :
mysql>UPDATE nama_tabel SET nama_field1=nilai_baru1, nama_field2=nilai_baru2, ... WHERE kriteria;
Untuk memodifikasi nilai suatu kolom/field secara keseluruhan gunakan perintah UPDATE tanpa menentukan kriterianya.
mysql> UPDATE nama_tabel SET nama_field1=nilai_baru1, ...;
3.1 Analisis Sistem
Sistem Layanan Resto yang akan dibangun merupakan suatu sistem
informasi yang bertujuan untuk meningkatkan kinerja dari suatu resto.
Gambaran umum proses yang terjadi, ketika seorang pelanggan memesan suatu
makanan kepada pelayan, maka pelayan tersebut akan mencatat pesanan
tersebut menggunakan PDA yang sudah terinstalasi. Dari situ data pesanan
akan dikirim ke server via Bluetooth ke server. Dari server, data pesanan akan
dikirim kepada dapur atau koki. Untuk proses pembayaran, kasir akan
membuka data pesanan dari pelanggan melalui sistem ini.
Pada tahap analisis sistem dijabarkan pemodelan sistem proses-proses
analisa dengan metode terstruktur.
3.1.1 Use Case Diagram
Di bawah ini Use Case Diagram Sistem Layanan Resto:
Login pelayan
Logout pelayan Tambah
pesanan
Update data pesanan
Login kasir
Pembayaran pesanan
Membuat laporan
Logout kasir <<depend on>> <<depend on>>
SISTEM INFORMASI RESTO
Login Koki Login Admin
Lihat pesanan
Logout koki
Logout admin Ganti Password Ganti Password
Ganti Password
Update data makanan <<depend on>> <<depend on>> Pelayan
Kasir
Admin
Koki
Ganti Password Tambah kasir Tambah koki
Tambah pelayan
3.1.2 DFD
Data Flow Diagram menggambarkan aliran data yang terdapat pada Sistem Layanan Resto. Dari proses pencarian kebutuhan, ada 4(empat) aktor
yang terlibat langsung di dalam sistem ini, yaitu Admin, Pelayan, Koki dan
Kasir. Berikut ini tabel input dan output tiap-tiap aktor:
Aktor Input Output
Admin Username, password, username_pelayan_baru, password_pelayan_baru, username_koki_baru, password_koki_baru, username_kasir_baru, password_kasir_baru,
nama_makanan, harga, keterangan
Informasi update data, informasi tambah pelayan, informasi tambah koki, informasi tambah kasir, status logout
Pelayan Username, password, no_meja, nama_makanan, waktu, tanggal, status_pembayaran,status_siap.
Informasi update data,
informasi update pesanan, status logout
Koki Username, password,status_siap Informasi update data, informasi pesanan Kasir Username, password,
status_pembayaran, tanggal awal, tanggal akhir
Informasi pembayaran, informasi update data, status logout
3.1.2.1 Context Diagram
Dari tabel input-output dapat dibuat context diagram yang
menggambarkan hubungan antara aktor dengan sistem yang akan dibangun.
Gambar 3.2 Context Diagram
3.1.2.2 Diagram Berjenjang
Penggambaran hirarki proses pada Sistem Layanan Resto ditampilkan
3.1.2.3.2 Overview Diagram Proses 1 Level 1
Berikut penjelasan Proses 1 atau Login pada level dibawahnya (level 1).
1.1p Login Admin 1.2p Login Pelayan 1.3p Login Koki 1.4p Login Kasir Pelayan Koki Kasir
Admin Username,password
Username, password Username, password Username, password D2 Pelayan D3 Koki D4 Kasir D1 Admin Data_admin Data_pelayan Data_koki Data_kasir 1p
3.1.2.3.3 Overview Diagram Proses 2 Level 1
Berikut penjelasan Proses 2 atau Tambah Data pada level
dibawahnya (level 1).
3.1.2.3.4 Overview Diagram Proses 3 Level 1
Proses 3 merupakan Proses Ganti Password, proses ini memiliki 4
proses pada hirarki dibawahnya. Berikut Overview Diagramnya:
Gambar 3.7 Proses 3 level 1
3.1.2.3.5 Overview Diagram Proses 4 level 1
Terdapat dua buah proses yang terdapat pada Proses Update Data
yaitu, Update Data Makanan dan Update Data Pesanan. Berikut gambaran
Gambar 3.8 Proses 4 level 1
3.1.2.3.6 Overview Diagram Proses 8 level 1
Penjelasan mengenai proses logout pada gambar 3.9
3.1.2.4 DFD Gabungan
DFD Gabungan yang terbentuk seperti gambar 3.10.
3.1.3 ERD
Penggambaran relasi antar entitas digambarkan pada Entity Relasional
Diagram.
Gambar 3.11. ER Diagram
3.2 Disain Sistem
Pada tahap Disain Sistem, akan dijelaskan disain infrastruktur jaringan
Disain Database, serta Disain User Interface pada Sistem Layanan Resto
3.2.1 Disain Infrastruktur Jaringan
Infrastruktur jaringan pada Sistem Layanan Resto menggunakan
Bluetooth, dijelaskan pada gambar berikut:
Gambar 3.12.Gambar Infrastruktur Jaringan
3.2.2 Disain Database 3.2.2.1 Disain Logical
Berdasarkan Entity Relational Diagram didapat bentuk dari disain
Gambar 3.13 Disain Database 3.2.2.2 Disain Fisikal
Disain fisikal pada Sistem Layanan Resto:
1. Tabel Admin
Nama Field Tipe Data Ukuran Id_Admin Number 3
Username Varchar2 15 Password Varchar2 15 Tabel 3.2. Tabel Admin
2. Tabel Pelayan
Nama Field Tipe Data Ukuran Id_pelayan Number 3
Username Varchar2 15 Password Varchar2 15 Tabel 3.3. Tabel Pelayan
3. Tabel Koki
Nama Field Tipe Data Ukuran Id_pelayan Number 3
Username Varchar2 15 Password Varchar2 15
Tabel 3.4. Tabel Koki 4. Tabel Kasir
Nama Field Tipe Data Ukuran Id_pelayan Number 3
Username Varchar2 15 Password Varchar2 15
Tabel 3.5. Tabel Kasir 5. Tabel Makanan
Nama Field Tipe Data Ukuran id_Makanan Varchar2 5
Nama_Makanan Varchar2 35
Harga Number 7
Keterangan Varchar2 255 Tabel 3.6. Tabel Makanan 6. Tabel Pesanan
Nama Field Tipe Data Ukuran
No_Pesanan Number 5 Id_pelayan Number 3 No_Meja Varchar2 3 Nama_Pelanggan Varchar2 15 Waktu Time Tanggal Date Status_pembayaran Number 1 Status_siap Number 1
7. Tabel Detail_Pesanan
Nama Field Tipe Data Ukuran No_Pesanan Number 5
Kode_Makanan Varchar2 5
Jumlah number 3
Tabel 3.8. Tabel Detail Pesanan
3.2.3 Disain User Interface
Pada sistem ini terdapat dua macam user interface, yaitu tampilan pada
komputer desktop dan tampilan pada PDA-nya.
3.2.3.1 Disain User Interface Pada Desktop
Disain User Interface pada desktop juga terbagi menjadi 3 bagian
berdasarkan usernya:
1. Tampilan untuk Admin. 2. Tampilan untuk Koki. 3. Tampilan untuk Kasir.
Gambar 3.14 Disain Login
Tiga pilihan pada Combo Box:
3.2.3.1.1 Tampilan Untuk Admin
Untuk menu Admin ada beberapa macam pilihan menu,
ditunjukkan terdapat 7 (tujuh) macam menu aktifitas untuk user Admin.
Gambar disain pada Gambar 3.14.
3.2.3.1.1.1 Form Tambah Menu
Form untuk menambah Menu Makanan, pada Gambar 3.15.
3.2.3.1.1.2 Form Update Menu
Form Update Menu Admin pada gambar 2.15. Proses terlebih dahulu dimulai dengan memasukkan kata pencarian berdasarkan nama
makanan. Kemudian pencarian yang ditemukan akan tampil pada tabel
dibawahnya.
3.2.3.1.1.3 Form Tambah Pelayan
Form ini dtujukan untuk menambah Pelayan. Untuk menambah
pelayan baru maka user Admin memasukkan username dan password.
Pada form ini juga ditujukan untuk menghapus daripada personel Pelayan.
3.2.3.1.1.4 Form Tambah Koki
Sama seperti Form Tambah Pelayan, form ini ditujukan untuk
menambah personel dan menghapus data dari tabel Koki.
Sistem Layanan Resto
Menu Admin Tambah Menu Update Menu Tambah Pelayan Tambah Koki Tambah Kasir Ganti Password Logout Login As Admin
Lihat Daftar Koki
Tambah Koki
Ok Kembali
Nama Koki Baru :
Kode Nama Hapus
Hapus Hapus Hapus
Password : Ulangi Pasword :
3.2.3.1.1.5 Form Tambah Kasir
Form Tambah Kasir bertujuan untuk menambah dan menghapus data dari tabel Kasir.
3.2.3.1.1.6 Form Ganti Password
Form Ganti Password berfungsi untuk mengganti password untuk Admin.
3.2.3.1.2 Tampilan Untuk Koki
Berikut ini disain tampilan-tampilan form untuk user Koki. Gambar
3.20. tampilan Form Koki.
Sistem Layanan Resto
Menu Koki Lihat Pesanan Ganti Password Logout
Welcome!
Login As Koki3.2.3.1.2.1 Form Lihat Pesanan
Form ini menampilkan daftar pesanan pelanggan yang diperuntukkan bagi Koki supaya menyiapkan makanan yang dipesan.
Gambar 3.24. Form Lihat Pesanan 3.2.3.1.2.2 Form Ganti Password
3.2.3.1.3 Tampilan Untuk Kasir
Pada Sistem Layanan Resto yang akan dibangun, untuk user Koki
menu-menunya ditampilkan pada desktop. Gambar menu Koki pada
Gambar 3.23.
3.2.3.1.3.1 Form Pembayaran
Proses pada Form Pembayaran terlebih dahulu memasukkan
Nomor Meja pelanggan yang akan dibayar. Kemudian klik Cari, maka
akan menampilkan tabel pesanan. Dengan menekan tombol Bayar, maka
proses pembayaran selesai.
3.2.3.1.3.2 Form Laporan Penjualan
Form Laporan Penjualan bertujuan untuk pembuatan laporan penjualan oleh Kasir. Pembuatan Laporan Penjualan dengan cara
memasukkan tanggal dari transaksi.
3.2.3.1.3.3 Form Ganti Password
Sistem Layanan Resto
Menu Kasir Pembayaran Ganti Password Logout Login As Kasir Laporan Penjualan Ganti Password Password baru : Ulang Password baru :
Ok Kembali
Gambar 3.29. Form Ganti Password Kasir 3.2.3.2 Tampilan pada PDA
Tampilan Sistem Layanan Resto ini pada PDA dikhususkan untuk
pengguna Pelayan yang bersifat mobile.
3.2.3.2.1 Form Menu Pelayan
Form Menu Pelayan menampilkan daftar menu dari aktifitas Pelayan.
Gambar 3.31. Form Daftar Menu 3.2.3.2.2 Form Menu Makanan
Form Menu Makanan menampilkan tabel Menu Makanan yang berisi Nama Makanan dan Harganya.
3.2.3.2.3 Form Tambah Pesanan
Form Tambah Pesanan bertujuan untuk menambah pesanan. Form ini terdapat 2 bagian, yaitu bagian atas yang berisi tentang masukkan No.
Meja dan identitas pelanggan, bagian bawah berisi daftar menu makanan.
Dengan mengisi angka pada kolom sebelah kanan dari nama makanan,
maka makanan tersebut akan tercatat pada daftar pesanan sebanyak angka
yang tertulis.
Gambar 3.33. Form Tambah Pesanan 3.2.3.2.4 Form Update Pesanan
Form Update Pesanan berfungsi untuk meng-update daftar pesanan yang telah ada dengan syarat pesanan tersebut belum terbayar atau melalui
Gambar 3.34. Form Update Pesanan
3.2.3.2.5 Form Ganti Password
Proses ganti password dilakukan dengan memilih menu Ganti Password.
3.2.4 Disain Struktur Menu
Berikut gambaran disain struktur menu pada Admin.
Gambar 3.36. Disain Struktur Menu Admin
Disain struktur menu untuk pelayan:
Disain struktur menu untuk koki:
Gambar 3.38. Disain Struktur Menu Koki Disain struktur menu untuk kasir: