BAB II

TINJAUAN PUSTAKA

II.1. Definisi Menu Masakan

Menu masakan adalah suatu susunan beberapa macam hidangan yang disajikan pada waktu tertentu. Menu masakan dapat terdiri dari satu macam hidangan yang lengkap atau tidak lengkap, juga dapat berupa hidangan untuk sarapan pagi, untuk makan siang atau makan malam saja ataupun hidangan makan untuk satu hari penuh dengan atau tanpa makanan selingan. (Sri Yuni

Lestari;2012:2)

II.1.1. Resep Masakan

Resep adalah satu set instruksi untuk menghasilkan makanan tertentu yang hasil porsinya bisa digandakan atau dikecilkan sesuai kebutuhannya, harus disertai catatan tentang bahan, jumlah dan cara membuatnya. Inilah arti dari satu resep.

Yang penting untuk diketahui bahwa penulisan resep banyak keterbatasannya karena selalu tertulis dengan singkat. Bagaimana detail resep untuk dapat dimengerti oleh pembaca, biasanya bagi yang telah mempunyai pengetahuan tentang pengertian terminologi yang dipakai akan lebih mudah. Misalnya, apabila sudah mengerti timbangan dan pengetahuan dari aneka bahan makanan yang dipakai dalam resep dan mengerti metode pengetahuan sesuai dalam teori kuliner.

(Soenardi, Tuti dan Tim Yayasan Gizi Kuliner;2013:219)

12

13

II.1.3. Masakan (Minang)

Indonesia memang kaya, memang hebat, salah satu kekayaan warisan leluhur adalah kuliner Nusantara yang lezat tiada tara. Masakan Padang contohnya. Rasa khasnya timbul dari paduan dan bahan lain yang segar serta tepat pengolahannya. Masakan padang merupakan nama yang ditasbihkan bagi semua masakan yang berasal dari ranah Minangkabau, Sumatra Barat.

Disebut sebagai masakan Padang padahal kebanyakan jenis masakan tersebut justru bukan berasal dari kota Padang, tetapi berasal dari beberapa kota di provinsi

Sumatra Barat seperti Payakumbuh, Padang Pariaman, Bukittinggi dan Solok

―Menurut Eri Besra (2012), Sumatera Barat khususnya Kota Padang merupakan salah satu daerah tujuan wisata. Selain keindahan alamnya, Kota

Padang juga menyimpan budaya dan peninggalan sejarah yang menarik. Kesenian daerah serta wisata kulinernya terkenal bukan saja oleh wisatawan lokal tapi juga wisatawan manca Negara. Wisata kuliner Kota Padang mempunyai potensi yang sangat baik. Dimana para wisatawan asing mengingat Indonesia dengan makanan khasnya yaitu . Rendang merupakan salah satu kuliner di Kota Padang.

Selain rendang tentu masih banyak wisata kuliner lain yang tak kalah enaknya di

Kota Padang‖. Untuk menu makanan/kuliner yang disediakan di restoran/warung

Padang diantaranya adalah sebagai berikut:

1. Rendang

2.

3. padang

4. kepala kakap

14

5. lado

6. Dendeng batokok

7. Gulai toco

8. Pangek padeh

9. dagiang

10. Gulai itik

11. Ikan balado

12. Gulai pucuk ubi

13. Gulai cubadak

14.

15. Sambal ijo

16.

17. Kalio ayam

18. Paru goreng. (Eri Besra;2012:94)

II.4. Android

Android adalah sebuah platform pertama yang betul-betul terbuka dalam pengembangannya dan komperehensif untuk perangkat mobile, semua perangkat lunak yang ada difungsikan menjalankan sebuah device mobile tanpa memikirkan kendala kepemilikan yang menghambat inovasi pada teknologi mobile. Aplikasi

Android ditulis dalam bahasa pemrograman java, yaitu kode java yang terkompilasi bersama-sama dengan data dan file-file sumber yang dibutuhkan oleh aplikasi yang digabungkan oleh app tools menjadi paket aplikasi Android, sebuah

15

file yang ditandai dengan akhiran .apk. File inilah yang di distribusikan sebagai aplikasi dan di instal pada handset Android. File ini di unduh oleh pengguna ke perangkat mobile mereka. Semua kode dijadikan satu file .apk, dan kemudian kita sebut sebagai sebuah aplikasi. (Ahmad;2015:2)

Sebagian besar aplikasi yang terdapat pada Play Store Android bersifat gratis, dan ada juga aplikasi berbayar sebagai cara untuk me-monitize aplikasi

Android. Uniknya penamaan versi Android selalu menggunakan nama makanan dan di awali abjad yang berurutan sebagai berikut :

1. Android version 1.5 (Cupcake).

2. Android version 1.6 (Donut).

3. Android version 2.0/2.1 (Eclair).

4. Android version 2.2 (Frozen Yogurt/Froyo).

5. Android version 2.3 (Gingerbread).

6. Android version 3.0/3.1/3.2 (Honeycomb).

7. Android version 4.0 (Ice Cream Sandwich).

8. Android version 4.1/4.2 (Jelly Bean).

9. Android version 4.4 (Kitkat). (Arif Akbarul Huda;2013:1-2)

II.4.1. Sejarah Sistem Operasi Android

Telepon seluler menggunakan berbagai macam sistem operasi seperti

Symbian OS®, Microsoft’s Windows Mobile®, Mobile Linux®, iPhone OS®

(berdasarkan Mac OS X), Moblin ®(dari Intel), dan berbagai macam sistem operasi lainnya. API yang tersedia untuk mengembangkan aplikasi mobile terbatas

16

dan oleh karena itulah Google mulai mengembangkan dirinya. Platform Android menjanjikan keterbukaan, kemudahan untuk menjangkau, source code yang terbuka, dan pengembangan framework yang high end.

Google membeli perusahaan Android Inc., yang merupakan sebuah perusahaan kecil berbasis pengembangan perangkat lunak untuk ponsel, pada tahun 2005 untuk memulai pengembangan pada platform Android. Tokoh utama pada Android Inc. meliputi Andy Rubin, Rich Miner, Nick Sears, dan Chris

White.

Pada tanggal 5 November 2007, kelompok pemimpin industri bersama- sama membentuk Open Handset Alliance (OHA) yang diciptakan untuk mengembangkan standar terbuka bagi perangkat mobile. OHA terdiri dari 34 anggota besar dan beberapa anggota yang terkemuka diantaranya sebagai berikut:

Sprint Nextel®, T-Mobile®, Motorola®, Samsung®, Sony Ericsson®, Toshiba®,

Vodafone®, Google, Intel® dan Texas Instruments.

Android SDK dirilis pertama kali pada 12 November 2007 dan para pengembang memiliki kesempatan untuk memberikan umpan balik dari pengembangan SDK tersebut. Pada bulan September 2008, T-Mobile memperkenalkan ketersediaan T-Mobile G1 yang merupakan smartphone pertama berbasiskan platform Android. Beberapa hari kemudian, Google merilis

Android SDK 1.0. Google membuat source code dari platform Android menjadi tersedia di bawah lisensi Apache’s open source.

Google merilis perangkat genggam (disebut Android Dev Phone 1) yang dapat menjalankan aplikasi Android tanpa terikat oleh berbagai jaringan

17

provider telepon seluler pada akhir 2008. Tujuan dari perangkat ini adalah memungkinkan pengembang untuk melakukan percobaan dengan perangkat sebenarnya yang dapat menjalankan Android OS tanpa berbagai kontrak. Google juga merilis versi 1.1 dari sistem operasi Android pada waktu yang tidak lama.

Versi 1.1 dari Android tidak mendukung adanya soft keyboards dan membutuhkan perangkat yang memiliki keyboard secara fisik. Android menyelesaikan masalah ini dengan merilis versi 1.5 pada bulan April 2009 dengan sejumlah tambahan fitur seperti kemampuan perekaman media, widgets, dan live folders.

Versi 1.6 dari Android OS dirilis pada bulan September 2009 dan hanya dalam waktu satu bulan versi Android 2.0 dirilis dan membanjiri seluruh perangkat Android. Versi ini memiliki kemampuan advanced search, text to speech, gestures, dan multi touch. Android 2.0 memperkenalkan kemampuan untuk menggunakan HTML karena didukung oleh HTML 5. Semakin banyak aplikasi berbasiskan Android setiap harinya yang terdapat pada application store secara online atau dikenal sebagai Android Market. (Safaat Nazruddin H;2014:1)

II.4.2. Arsitektur Android

Secara garis besar Arsitektur Android dapat dijelaskan sebagai berikut:

1. Applications dan Widgets

Application dan Widgets ini adalah layer dimana kita berhubungan dengan aplikasi saja, dimana biasanya kita download aplikasi kemudian kita lakukan instalasi dan jalankan aplikasi tersebut. Di layer terdapat terdapat aplikasi inti

18

termasuk email client, program Short Message Service(SMS), kalender, peta, browser, daftar kontak, dan lain-lain. Semua aplikasi ditulis dengan menggunakan bahasa pemgrograman Java.

2. Applications Frameworks

Android adalah ―Open Development Platform‖ yaitu Android menawarkan kepada pengembang untuk membangun aplikasi yang bagus dan inovatif.

Sehingga bisa kita simpulkan Applications Frameworks ini adalah layer di mana para pembuat aplikasi melakukan pengembangan/pembuatan aplikasi yang akan dijalankan di sistem operasi Android, karena pada layer inilah aplikasi dapat dirancang dan dibuat, seperti content prviders yang berupa sms dan panggilan telepon. Komponen-komponen yang termasuk di dalam Applications Frameworks adalah sebagai berikut: a. Views b. Content Provider c. Resource Manager d. Notification Manager e. Activiti Manager

3. Libraries

Libraries ini adalah layer dimana fitur-fitur Android berada, biasanya para pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya. Berjalan diatas kernel, layer ini meliputi berbagai library C/C++ inti seperti Libc dan SSL.

Beberapa dari library utama dijelaskan sebagai berikut:

19

a. System C Library

Merupakan implementasi turunan dari standar system library C (libc) yang diatur untuk peralatan berbasis embedded Linux. b. Media Libraries

Disediakan oleh Packet Video (salah satu anggota dari OHA) yang memberikan library untuk memutar ulang dan menyimpan format suara dan video, serta static image file seperti MPEG4, MP3, AAC, AMR, JPG, and PNG. c. Surface Manager

Mengatur akses ke dalam subsistem tampilan dan susunan grafis layer 2D dan

3D secara mulus dari beberapa aplikasi dan menyusun permukaan gambar yang berbeda pada layar ponsel. d. LibWebCore

Merupakan web browser modern yang menjadi kekuatan bagi browser

Android dan sebuah embeddable web view. e. Scalable Graphics Library (SGL)

SGL mendasari mesin grafis 2D dan bekerja bersama-sama dengan lapisan pada level yang lebih tinggi dari kerangka kerja (seperti Windows Manager dan Surface Manager) untuk mengimplementasikan keseluruhan graphics pipeline dari Android. f. 3DLibraries

Implementasi yang didasarkan pada OpenGL ES 1.0 APIs dimana library menggunakan baik akselerasi perangkat keras 3D (jika tersedia) ataupun yang disertakan, dengan rasterisasi perangkat lunak 3D yang sangat optimal.

20

g. FreeType Library

Digunakan untuk menghaluskan semua tulisan bitmap dan vektor. h. SQLite

Merupakan relational database yang kuat dan ringan serta tersedia untuk semua aplikasi.

4. Android Runtime

Merupakan lokasi dimana komponen utama dari DVM ditempatkan.

DVM dirancang secara khusus untuk Android pada saat dijalankan pada lingkungan yang terbatas, dimana baterai yang terbatas, CPU, memori, dan penyimpanan data menjadi fokus utama. Android memiliki sebuah tool yang terintegrasi yaitu "dx" yang mengkonversi generated byte code dari (.JAR) ke dalam file (.DEX) sehingga byte code menjadi lebih efisien untuk dijalankan pada prosesor yang kecil. Hal ini memungkinkan untuk memiliki beberapa jenis dari DVM berjalan pada suatu peralatan tunggal pada waktu yang sama. Core libraries ditulis dalam bahasa Java dan berisi kumpulan class, I/O dan peralatan lain.

5. Linux Kernel

Linux kernel adalah layer dimana inti dari operating sistem dari android itu berada. Berisi file-file system yang mengatur sistem processing, memory, resource, drivers, dan sistem operasi android lainnya. (Safaat Nazruddin H;2014:

6)

21

Gambar II.1. Arsitektur Android Sumber : (Safaat Nazruddin H;2014:8)

II.5. Java

Bahasa pemrograman java dikembangkan oleh Sun Microsystem yang dimulai oleh james Gosling dan dirilis pada tahun 1995. Saat ini Sun Microsystem telah diakui oleh Oracle Corporation. Java bersifat Write Once, Run Anywhere

(program yang ditulis satu kali dan dapat berjalan pada banyak platform. (Jubilee

Enterprise;2015:1)

II.5.1. JavaScript

JavaScript merupakan salah satu bahasa script website yang paling banyak digunakan untuk menambah manipulasi script HTML dan CSS pada sisi client/browser. JavaScript mampu memberikan fungsionalitas lebih pada website,

22

seperti validasi form, berkomunikasi dengan sever, serta membuatwebsite lebih interaktif dan animatif.

JavaScript digunakan pada banyak , seperti Internet Explorer, Firefox,

Chrome, Opera, Safari, dan lain sebagainya. Hampir seluruh browser mendukung

JavaScript sehigga tidak perlu khawatir kode JavaScript yang digunakan pada website tidak berfungsi. (Wahana Komputer;2012:2)

II.6. Database MySQL

―Menurut Kadir Abdul (2008), MySQL adalah salah satu jenis database server yang sangat terkenal. Kepopulerannya disebabkan MySQL menggunakan

SQL sebagai bahasa dasar untuk mengakses database-nya. Selain itu, ia bersifat

Open Source pada berbagai platform (kecuali untuk jenis Enterprise, yang bersifat komersial).

MySQL termasuk jenis RDBMS (Relational Database Management

System). Itulah sebabnya, istilah seperti tabel, baris dan kolom digunakan pada

MySQL. Pada MySQL, sebuah database mengandung satu atau sejumlah tabel.

Tabel terdiri atas sejumlah baris dan setiap baris mengandung satu atau beberapa kolom.‖

―Menurut Arief M Rudyanto (2011), MySQL merupakan database yang pertama kali didukung oleh bahasa pemrograman script untuk internet (PHP dan

Perl). MySQL dan PHP dianggap sebagai pasangan software pengembangan aplikasi web yang ideal. MySQL lebih sering digunakan untuk membangun

23

aplikasi berbasis web, umumnya pengembangan aplikasinya menggunakan bahasa pemrograman script PHP.‖ a. Data Definition Language (DDL)

DDL memberikan perintah untuk mendefinisikan dan memodifikasi database

dan strukturnya termasuk konstrain-konstrain yang ada disuatu tabel. b. Data Manipulation Language (DML)

DML merupakan bahasa query yang digunakan untuk melakukan pengelolaan

terhadap data yang ada didalam sebuah database, pengelolaan yang dimaksud

diantaranya memasukan data (insert), mengubah data (update), menghapus

data (delete), dan mengambil data (select) dari satu atau beberapa tabel.

II.7. PHP (Hypertext Preprocessor)

PHP adalah bahasa server side scripting yang menyatu dengan HTML untuk membuat halaman web yang dinamis. Karena PHP merupakan server side scripting maka sintaks dan perintah-perintah PHP akan dieksekusi ke server yang kemudian hasilnya dikirimkan ke browser. PHP pertama kali dibuat oleh Rasmus

Lerdorf pada tahun 1995. Pada waktu itu PHP bernama FI (Form Interpreted).

Pada saat tersebut PHP adalah sekumpulan script yang digunakan untuk mengolah data form dari web. (Dedi Yunaedi, et al.;2013)

II.8. XAMPP

XAMPP adalah perangkat lunak bebas, yang mendukung banyak sistem operasi, merupakan kompilasi dari beberapa program. Fungsinya adalah sebagai

24

server yang berdiri sendiri (localhost), yang terdiri atas program Apache HTTP

Server, MySQL database, dan penerjemah bahasa yang ditulis dengan bahasa pemrograman PHP dan Perl. Nama XAMPP merupakan singkatan dari X (empat sistem operasi apapun), Apache, MySQL, PHP dan Perl. (Dedi Yunaedi, et al.;2013)

II.9. UML (Unified Modelling Language)

Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau

VB.NET. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik.

Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh

25

OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented

Software Engineering). Sejarah UML sendiri cukup panjang. Sampai era tahun

1990 seperti kita ketahui puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi shlaer-mellor, metodologi wirfs- brock, dsb. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan group/perusahaan lain yang menggunakan metodologi yang berlainan.

Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek.

Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG – http://www.omg.org). Tahun 1997 UML versi 1.1 muncul, dan saat ini versi terbaru adalah versi 1.5 yang dirilis bulan Maret 2003. Booch, Rumbaugh dan

Jacobson menyusun tiga buku serial tentang UML pada tahun 1999. Sejak saat itulah UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi berorientasi objek. (Yuni Sugiarti;2013:33)

26

II.9.1. Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah ―apa‖ yang diperbuat sistem, dan bukan

―bagaimana‖. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya.

Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.

(Yuni Sugiarti;2013:41)

27

Gambar II.2. Use Case Diagram Sumber : (Junaedi Siregar;2013:76)

II.9.2. Class Diagram

Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi. Berikut adalah simbol- simbol pada diagram kelas :

28

Gambar II.3. Class Diagram Sumber : (Yuni Sugiarti;2013:59)

II.9.3. Sequence Diagram

Diagram Sequence menggambarkan kelakuan/prilaku objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambarkan diagram sequence

29

maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.

Banyaknya diagram sequence yang harus digambar adalah sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sequence sehingga semakin banyak use case yang didefinisikan maka diagram sequence yang harus dibuat juga semakin banyak.

Costomer Login Screen Security Manager Users

Login

Validate User Check Use Details [ User Details ]

Validate

1 : Use Case Model >

Gambar II.4. Contoh Sequence Diagram Sumber : (Yuni Sugiarti;2013:63)

II.9.4. Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang

30

mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.

Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih.

Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas.

Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses- proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal.

Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.

31

[no coffee] decision Find Beverage Start

Put Coffee In Add Water to Get Cups Filter Reservoir

Get Can of Cola Put Filter In Machine [no cola]

Turn on Machine

Brew Coffee

Pour Coffee Drink Beverage

End

Gambar II.5. Activity Diagram Sumber : (Yuni Sugiarti;2013:76)