BAB 2 LANDASAN TEORI
2.1 Pendekatan Basis Data 2.1.1 Pengertian Data Data adalah kumpulan fakta – fakta yang berupa fisik maupun non fisik, kejadian dan prosedur yang belum diolah manusia atau peralatan yang digunakan manusia. Data merupakan bahan dasar yang objektif dalam proses penyusunan kebijaksanaan dan keputusan oleh pimpinan organisasi. Data merupakan bahan mentah yang belom di olah, agar dapat digunakan, maka data harus diolah terlebih dahulu menjadi bentuk informasi yang sesuai dengan kebutuhan (Connolly & Begg, 2005: 15). 2.1.2 Pengertian Basis Data Database adalah koleksi yang dapat digunakan secara bersama dari data yang berhubungan secara logikal dan deskripsi dari data yang didesain untuk memenuhi kebutuhan informasi dalam organisasi. Database adalah tempat penyimpanan data yang besar dan dapat digunakan oleh banyak pengguna (Connolly & Begg, 2005: 15). 2.1.3. Pengertian Sistem Basisdata Sistem basis data pada dasarnya adalah penyimpanan record data yang terkomputerisasi agar data tersebut tersedia pada saat dibutuhkan. Sistem basis data merupakan sekumpulan aplikasi yang saling berinteraksi dengan basis data, yaitu Database Management System (DBMS) dan basis data itu sendiri. Pengguna dapat mengakses kembali dan dapat mengubah informasi tersebut sesuai dengan kebutuhan (Connolly & Begg, 2005: 53).
2.2 Sistem Manajemen Basis Data atau Database Management System (DBMS) 2.2.1 Pengertian DBMS DBMS adalah sebuah perangkat lunak yang mengizinkan pengguna
untuk
mendefinisikan,
membuat,
memelihara,
dan
mengontrol ke akses basis data. (Connolly & Begg, 2005: 16) 2.2.2 Fasilitas DBMS Beberapa fasilitas yang disediakan dalam DBMS adalah sebagai berikut: 1. DBMS memungkinkan pengguna untuk menentukan suatu basis data, biasanya mjenggunakan Data defintion Language (DDL). DDL mengizinkan pengguna untuk menspesifikasikan tipe dan struktur data serta batasan-batasan data yang akan disimpan dalam database. 2. DBMS mengizinkan pengguna untuk melakukan insert, update, delete, dan retrieve terhadap data-data yang ada di dalam database melalui Data Manipulation Language (DML). DML menyediakan suatu fasilitas umum bagi data yang disebut query language. 3. DBMS
menyediakan
database, misalnya
kontrol
terhadap
sebuah sistem
pengaksesan
suatu
keamanan yang tidak
berkepentingan mengakses database. (Connolly & Begg, 2005: 53) 2.3 Perancangan Basis Data Proses perancangan basis data terbagi menjadi tiga tahap utama yaitu perancangan basis data konseptual, logikal, dan fisikal.
2.3.1 Perancangan Basis Data Konseptual Proses pembentukan model yang berasal dari informasi yang digunakan
dalam
perusahaan
yang
bersifat
independen
dari
keseluruhan aspek fisik. Model data tersebut merupakan sumber informasi untuk fase desain logikal. Langkah – langkah dalam perancangan model data konseptual : a. Mengidentifikasikan entity b. Mengidentifikasikan relationship types c. Mengidentifikasikan dan mengasosiasikan atribut dengan entitas atau relationship types d. Menentukan atribut domain e. Menentukan atribut candidate key, alternate key, dan primary key f. Mempertimbangkan konsep pemodelan tingkat lanjut g. Memeriksa redudansi pada model h. Validasi model konseptual terhadap user transaction i. Review model data konseptual dengan user
2.3.2 Perancangan Basis Data Logikal Model data konseptual yang telah dibuat sebelumnya, diperbaiki dan dipetakan kembali ke dalam model data logikal. Langkah – langkah dalam perancangan model data logikal : a. Menurunkan relasi untuk model data logikal (derive) b. Memvalidasi relasi – relasi menggunakan normalisasi
c. Memvalidasi relasi – relasi terhadap user transaction d. Memeriksa batasan – batasan integritas e. Review model data logikal dengan user f. Menggabungkan model data logikal kedalam model global g. Memeriksa untuk perkembangan dimasa yang akan datang 2.3.3 Perancangan Basis Data Fisikal Proses yang menghasilkan deskripsi implementasi basis data pada penyimpanan sekunder. Menggambarkan struktur penyimpanan dan metode akses yang digunakan untuk mencapai akses yang efisien terhadap data. Langkah – langkah dalam perancangan model data fisikal : a. Menerjemahkan model data logikal untuk taget DBMS I. Merancang base relations II. Merancang representasi dari data turunan III. Merancang batasan – batasan umum b. Merancang organisasi file dan index I. Menganalisis transaksi II. Memilih organisasi file III. Memilih index IV. Memperkirakan kebutuhan ruang penyimpanan c. Merancang user views d. Merancang mekanisme keamanan e. Mempertimbangkan pengenalan redudancy terkontrol
f. Memantau sistem operasional (Connolly & Begg, 2005: 43) 2.4 ERD (Entity Relationship Diagram) Entity relationship diagram adalah ilustrasi dari entitas-entitas dalam bisnis dan relationship antar entitas. ERD memisahkan antara informasi yang dibutuhkan dalam bisnis dari aktivitas-aktivitas yang dilakukan dalam bisnis. (Connolly & Begg, 2005: 342) 2.5 Interaksi Maunisa dan Komputer (IMK) 2.5.1 Pengertian IMK Interaksi manusia dan komputer (IMK) atau Human Computer Interaction
adalah
disiplin
ilmu
yang
berhubungan
dengan
perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomena – fenomena besar yang berhubungan dengannya. (Shneiderman dan Plaisant, 2005: 15) 2.5.2 Delapan Aturan Emas IMK Dalam merancang tampilan suatu aplikasi ada beberapa hal yang butuh diperhatikan. Ada delapan aturan yang harus diperhatikan dalam perancangan layar tatap muka pengguna atau disebut dengan Eight Golden Rules of Interface Design. Aturan – aturan tersebut antara lain: a. Berusaha Keras Untuk Konsisten Berusaha untuk konsisten dalam aksi – aksi pada situasi tertentu, yaitu konsisten dalam penggunaan warna, bahasa, tata letak, tulisan, simbol, dan sebagainya.
b. Menyediakan Universal Usability Menyediakan shortcut yang umum, yang sudah biasa digunakan, jangan membuat shortcut yang jarang dimengerti seseorang. c. Memberikan Umpan Balik yang Informatif Dalam setiap aksi yang dilakukan user, maka harus ada umpan balik yang sesuai dengan aksi tersebut sehingga user mengerti sistem aplikasi tersebut. Seperti pesan kesalahan. d. Merancang Dialog Untuk Menghasilkan Keadaan Akhir Adanya keadaan akhir yang menandakan selesainya suatu kegiatan yang diberitahukan kepada pengguna melalui umpan balik, seperti memberikan tampilan atau jendela dialog beranda user sudah mengakhiri pemakaian aplikasi. e. Memberikan Penanganan Kesalahan yang Sederhana Merancang sistem yang membuat pengguna tidak melakukan kesalahan yang fatal. f. Mengizinkan Pembalikan Aksi Dengan Mudah Memberikan kebebasan kepada pengguna untuk mendapatkan akses kemana saja bila terjadi kesalahan tanpa khawatir rusaknya hal yang sedang dilakukan. g. Mendukung Pusat Kendali Internal Dengan adanya pengaturan internal, maka user dapat menggunakan sistem sesuai kebutuhan. Misalnya, adanya perbedaan hak akses antar user. h. Mengurangi Beban Ingatan Jangka pendek Kemampuan manusia untuk memproses informasi dalam jangka waktu pendek memiliki keterbatasan, sehingga perlu dirancang tampilan yang sederhana dan efektif, agar tidak membenai ingatan user.
(Shneiderman dan Plaisant, 2005: 75) 2.6 HTML HTML adalah bahasa tampilan hypertext untuk kebutuhan umum, HTML juga menyediakan fitur – fitur untuk megakomodasi data. Sebagai contoh, sebuah dokumen HTML memungkinkan user mengisikan data ke dalam formulir tersebut. Tampilan layar aktual, formulir spesifik yang bisa diisi dan menu yang bisa dipilih, kesemuanya dikendalikan oleh dokumen HTML. Akan tetapi, tidak ada koneksi terus menerus antara client dan server, server tidak memiliki histori atas interaksi dengan client, dan semua status informasi harus disimpan di client dan dikirim ke server setiap kali keduanya berkomunikasi. Hal ini adalah kelemahan dari HTML, namun HTML merupakan salah satu bukti tentang pentingnya sistem informasi terdistribusi di masa depan. (Fathansyah, 2004: 327) 2.7 PHP Php tergolong sebagai software open source yang diatur dalam aturan general purpose licences. Pemograman PHP sangat cocok dikembangkan dalam lingkungan web, karena bisa diletakan pada script PHP atau sebaliknya. PHP dikhususkan dalam pengembangan web yang dinamis, karena PHP mampu menghasilkan website secara terus menerus hasilnya bisa berubah – ubah dengan pola yang diberikan. PHP juga tergolong sebagai bahasa pemrograman berbasis server, ini berarti semua script PHP diletakan di server dan diterjemahkan oleh web server terlebih dahulu, baru dikirim ke browser client. (Suprianto, 2008: 17) 2.8 MY SQL MySQL merupakan suatu database. MySQL dapat juga dikatakan sebagai database yang sangat cocok bila dipadukan dengan PHP. Secara umum, database berfungsi sebagai tempat atau wadah untuk menyimpan, mengklasifikasikan data secara professional. MySQL bekerja menggunakan SQL Language (Structure Query Language) di dunia untuk pengolahan data.
Berikut beberapa kelebihan yang dimiliki MySQL: a.
Bersifat open source, yang memiliki kemampuan untuk dapat dikembangkan lagi.
b.
Menggunakan bahasa SQL yang merupakan standar bahasa dunia dalam pengolahan data.
c.
Super performance dan reliable, tidak bisa diragukan proses database nya sangat cepat dan stabil.
d.
Memiliki dukungan support (group) pengguna MySQL.
e.
Mampu lintas platform, dapat berjalan di berbagai sistem operasi.
f.
Multiuser, dimana MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami konflik.
(Kustiyahningsih dan Anamisa, 2011: 145) 2.9 Unified Modeling Language (UML) Unified Modeling Language (UML) adalah seperangkat ketentuan pemodelan yang digunakan untuk menspesifikasikan atau menjelaskan sebuah sistem softwareyang berhubungan dengan objek. (Whitten dan Bentley , 2007: 381) 2.9.1 Use Case Diagram Use
case
diagram
adalah
sebuah
diagram
yang
menggambarkan interaksi antara sistem dan eksternal sistem, dan sistem dengan user. Secara grafis, use case diagram menjelaskan siapa yang menggunakan sistem dan bagaimana user berinteraksi dengan sistem. (Whitten dan Bentley, 2007: 244)
Use case diagram mempunyai notasi-notasi sebagai berikut: a. Use Case Use case diwakili secara grafis dalam bentuk elips dengan nama use case yang menjelaskan sistem yang ada pada diagram use case.
Gambar 2.1 Notasi Use Case Symbol
b. Actor Actor adalah user yang berperan dalam sebuah sistem.
Gambar 2.2 Notasi Actor (Sumber: Whitten &Bentley, 2007:247)
c. Relationship Relationship diwakili secara grafis dalam bentuk garis antara dua simbol pada use case diagram. 1. Associations
Gambar 2.3 Notasi Associaton pada use case (Sumber: Whitten & Bentley, 2007:248)
2. Extends
Gambar 2.4 Notasi Extends pada Use Case (Sumber: Whitten & Bentley, 2007:249)
3. Uses (or Includes)
Gambar 2.5 Notasi Uses pada Use Case (Sumber: Whitten & Bentley, 2007:249)
4. Depends On
Gambar 2.6 Notasi Depends On pada Use Case (Sumber: Whitten & Bentley, 2007:250)
5. Inheritance
Gambar 2.7 Notasi Inheritance pada Use Case (Sumber: Whitten & Bentley, 2007:250)
d. Use case System Disimbolkan dengan bentuk persegi panjang yang mendefinisikan nama dari use case tersebut dan sistem-sistem yang bekerja pada diagram use case tersebut.
Gambar 2.8 Notasi Nama System pada Use Case
2.9.2 Sequence Diagram Sequence
diagram
merupakan
diagram
UML
yang
memodelkan logika sebuah use case dengan menggambarkan interaksi di antara objek berdasarkan urutan waktu. Sequence diagram ini mempunyai notasi sebagai berikut : (Whitten dan Bentley , 2007: 394) a. Actor Actor
melakukan
interaksi
user
interface
menunjukkan simbol actor yang terdapat dalam use case.
dengan
Gambar 2.9 Notasi Actor pada Sequence Diagram
b. Interface class Bentuk
kotak
menggambarkan
bentuk
yang
mengindikasikan class interface code. Untuk memperjelas makna dari simbol tersebut biasanya diberikan “<
>” sebagai simbol tambahan. Terdapat juga simbil “:” yang berarti notasi diagram urutan standar untuk proses yang sedang berjalan dan simbol “---“ yang menandakan “kehidupan” proses dari sequence tersebut.
Gambar 2.10 Notasi Actor pada Sequence Diagram
c. Controller class Setiap use case memiliki satu atau lebih controller, yang digambarkan dengan notasi yang sama seperti interface class yang disimbolkan dengan “<>”.
Gambar 2.11 Notasi Controller pada Sequence Diagram d. Entity Classes
Penambahan kotak untuk setiap entitas diperlukan agar dapat
berkolaborasi
dalam
urutan
langkah.
Simbol
“:”
mendefiniskan object instance, dengan kata lain seperti specific order, specific product.
Gambar 2.12 Notasi Entity Classes pada Sequence Diagram e. Messages Garis panah horizontal berfungsi untuk menyampaikan pesan dari setiap metode yang dikirmkan ke class.
Gambar 2.25 Notasi Messages pada Sequence Diagram
f. Activation bars Bentuk bar persegi panjang vertikal berfungsi untuk menunjukkan alur hidup dari setiap instance object yang digunakan selama periode waktu tertentu.
Gambar 2.13 Notasi Activation Bars pada Sequence Diagram
g. Return messages Bentuk panah horizontal putus-putus merupakan pesan yang dikirim balik ke suatu instance object.
Gambar 2.14 Notasi Return Messages pada Sequence Diagram h. Self-call Bentuk garis panah melengkung merupakan sebuah objek yang dapat memanggil method dari dirinya sendiri.
Gambar 0.15 Notasi Self-Call pada Sequence Diagram
i. Frame Bentuk persegi panjang dengan judul di dalamnya yang digunakan ketika suatu area pada diagram mengalami perulangan (looping), seleksi (alternative) atau ketentuan (optional).
Gambar 2.16 Notasi Frame pada Sequence Diagram
2.9.3 Class Diagram Class diagram merupakan gambar grafis mengenai struktur objek statis dari suatu sistem, dan menunjukkan kelas-kelas objek yang menyusun sebuah sistem dan juga hubungan antara kelas objek tersebut. (Whitten dan Bentley , 2007: 648) a. Class Class
adalah
blok
-
blok
pembangun
pada
pemrograman berorientasi obyek.
Gambar 2.17 Class
b. Association Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 class dan dilambangkan oleh sebuah garis yang menghubungkan antara 2 class.
Gambar 2.18 Association c. Composition
Jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka class tersebut memiliki relasi Composition terhadap class tempat dia bergantung tersebut.
Gambar 2.19 Composition d. 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.20 Dependency
e. Aggregation Aggregation mengindikasikan keseluruhan bagian relationship dan biasanya disebut sebagai relasi.
Gambar 2.21 Aggregation f. Generalization Generalization mempertimbangkan kelompok/grup yang memliki sesuatu yang sama;
Gambar 2.22 Generalization 2.10 Agile Development Agile development merupakan sebuah metode pembuatan software yang memudahkan developer untuk membuat software yang baik. Extreme Programming (XP) digunakan di setiap proses agile process. XP ditemukan oleh Kent Beck pada akhir tahun 1980. XP memberikan teknik terbaik untuk mengatasi perubahan requirement yang sangat cepat dan tiba-tiba. (Pressman, 2010: 68) a.
Planning
Planning activities atau yang biasa disebut planning game, dimulai dengan team mengumpulkan segala sesuatu kebutuhan yang diperlukan dalam pengembangan aplikasi. Setelah mengumpulkan kebutuhan, team mulai melakukan penyusunan user stories untuk menggambarkan output apa yang diperlukan, fitur, dan kegunaan.
b.
Design
Proses desain pada XP menerapkan prinsip Keep It Simple (KIS). Desain yang sederhana biasanya lebih disukai dibandingakan dengan desain yang kompleks dan desain tersebut harus mengikuti stories yang telah dibuat sebelumnya. c.
Coding
Pada tahap ini, terdapat proses refactoring. Refactoring merupakan proses mengubah sistem perangkat lunak dimana struktur code berubah dan menjadi sederhana namun hasil akhir yang dihasilkan sama. Setelah
menyelesaikan
tahap
planning
dan
design
sebaiknya
melakukan
pengetesan pada setiap unit yang terdapat pada stories terlebih dahulu sebelum memulai pengkodean. Kemudian dapat fokus kembali di dalam pengkodean. d.
Testing
Pada tahap ini acceptance tests atau customer tests melakukan pengujian terhadap program yang telah selesai. 2.11 Pengertian Nutrisi Nutrisi adalah zat-zat gizi dan zat lain yang berhubungan dengan kesehatan dan penyakit, termasuk keseluruhan proses proses dalam tubuh manusia untuk menerimamakanan atau bahan-bahan dari lingkungan hidupnya dan menggunakan bahan-bahantersebut untuk aktivitas penting dalam tubuhnya serta mengeluarkan sisanya. Nutrisi dapat dikatakan sebagai ilmu makanan, zat gizi dan zan lain yang terkandung, aksi reaksi dan keseimbangan yang berhubungan dengan kesehatan dan penyakit. (Wartonah, 2006: 64) Nutrisi merupakan proses pemasukan dan pengolahan zat makanan oleh tubuhyang bertujuan menghasilkan energi dan digunakan dalam aktivitas tubuh Gizi (Nutrition) adalah suatu proses organisme menggunakan makanan yang dikonsumsi secara normal melalui proses digesti, absorbsi, transportasi, (Hidayat, 2006: 52) Nutrien merupakan elemen penting untuk proses dan fungsi tubuh, enam kategorizat makanan adalah air, karbohidrat, protein, lemak, vitamin dan mineral Dari beberapa pengertian diatas dapat disimpulkan nutrisi adalah zat-zat gizi dan zat lain yang diperlukan oleh tubuh untuk menghasilkan energi dan digunakan dalam aktivitas tubuh untuk mempertahankan kehidupan, pertumbuhan, dan fungsinormal dari organ-organ.
(Potter, 2005: 1451) 2.12 Fungsi/ Pengaturan Gizi Tubuh memerlukan bahan bakar untuk menyediakan energi untuk fungsi organ dan pergerakan badan, untuk menyediakan material mentah, untuk fungsi enzim, pertumbuhan, penempatan kembali dan perbaikan sel. Metabolisme mengacu pada semua reaksi biokimia dalam tubuh. Proses metabolic dapat menjadi anabolic (membangun) atau katabolic (merusak). Makanan dimakan, dicerna, dan diserapuntu k menghasilkan energi yang diperlukan untuk reaksi. (Potter, 2005: 1453)