BAB II LANDASAN TEORI
2.1. Pemesanan dan Pemasaran Pemesanan adalah proses perbuatan, cara memesan atau memesankan. Pemesanan merupakan salah satu aktifitas dalam sebuah perusahaan rental buku, pemesanan dilakukan oleh konsumen, adanya pemesanan membantu penjual menentukan jumlah persediaan barang. Kemajuan teknologi sekarang ini memungkinkan pemesanan tidak hanya dapat dilakukan jika konsumen dan penjual bertatap langsung, tetapi dapat dilakukan dari jarak jauh sekalipun, misalnya dengan menggunakan E-commerce, yaitu sistem pemesanan barang lewat internet. Pemesanan adalah suatu aktifitas yang dilakukan oleh konsumen sebelum membeli.untuk
mewujudkan
kepuasan
konsumen
maka
perusahaan
harus
mempunyai sebuah sistem pemesanan yang baik. Tujuan pemesanan yaitu; Memaksimumkan pelayanan bagi konsumen(1), Meminimumkan investasi pada persediaan(2), Perencanaan kapasitas(3), Pengesahan produksi dan pengendalian produksi(4), Persediaan dan kapasitas(5), Penyimpanan dan pergerakan material(6), Peralatan, routing dan proses planning(7), dan lain – lain. Pemasaran menurut Philip Kotler (2002), adalah sekumpulan alat pemasaran yang dapat digunakan oleh perusahaan untuk mencapai tujuan pemasarannya dalam pasar sasaran. Penjelasan arti dari 4P sebagai berikut : 1. Product (produk). Adalah segala sesuatu yang dapat ditawarkan ke pasar untuk diperhatikan, diperoleh dan digunakan atau dikonsumsi untuk dapat memenuhi kebutuhan dan keinginan meliputi barang fisik, jasa, orang, tempat, organisasi, gagasan dan ide. 6
http://digilib.mercubuana.ac.id/
2. Price (harga). Yaitu jumlah uang yang harus dibayar oleh pelanggan untuk memperoleh produk atau jasa untuk memperoleh satu buah produk dan hendaknya harga akan dapat terjangkau oleh konsumen. 3. Place (saluran distribusi/tempat). Termasuk aktivitas perusahaan untuk menyalurkan produk atau jasa tersedia bagi konsumen. Kemudahan akses terhadap jasa bagi para pelanggan. Tempat dimana produk Serta merupakan keputusan distribusi menyangkut kemudahan akses terhadap jasa bagi para pelanggan. Tempat dimana produk tersedia dalam sejumlah saluran distribusi dan outlet yang memungkinkan konsumen dapat dengan mudah memperoleh suatu produk. 4. Promotion (promosi). Berarti aktivitas yang meliputi berbagai metode, yaitu iklan, promosi penjualan, mengkomunikasikan produk dan membujuk pelanggan, Menggambarkan berbagai macam cara yang ditempuh perusahaan dalam rangka menjual produk ke konsumen. Penjualan tatap muka dan hubungan masyarakat, mengkomunikasikan produk dan membujuk pelanggan, Menggambarkan berbagai macam cara yang ditempuh perusahaan dalam rangka menjual produk ke konsumen. 2.2. Android Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencangkup sistem operasi, middleware dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk mencipakan aplikasi mereka. Awalnya, Google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat peranti lunak untuk ponsel/smartphone. Kemudian untuk mengembangkan Android, dibentuk Open Headset Alliance, komsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikas, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. 7
http://digilib.mercubuana.ac.id/
Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Headset Alliance menyatakan mendukung pengebangan open source pada perangka mobile. Di lain pihak, Google merilis kode-kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan open platform perangkat seluler Di dunia ini terdapa dua jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Service (GMS) dan kedua adalah yang benar-benar bebas disribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset distribution (OHD). Sekitar September 2007 Google mengenalkan Nexus One, salah satu jenis Smarphone yang menggunakan Android sebagai sistem operasinya. Telepon seluler ini diproduksi oleh HTC Corporation dan tersedia di pasaran pada (5 Januari 2010). Pada desember 2008, diumumkan anggota baru yang bergabung dalam program kerja Android ARM Holdings, Atheros Communications, diproduksi oleh Asustek Compuer Inc, Garmin Ltd, Softbank, Sony Ericsson , Toshiba Corp dan Vodafone Group Plc. Seiring pembentukan Open Handset Alliance, OHA mengumumkan produk perdana mereka, Android, perangkat mobile yang merupakan modifikasi kernel Linux 2.6. sejak Android dirilis telah dilakukaan berbagai pembaruan berupa perbaikan bug dan penambahan fitur baru. Pada masa saat ini sebagian besar vendor-vendor smartphone sudah memproduksi smartphone berbasis Android, vendor-vendor itu antara lain HTC, Motorola, Samsung, LG, HKC, Archos, Webstation,Camangi, Dell, Nexus, SciPhone, WayteQ, Soni Ericsson, LG, Acer Philips, T-Mobile, Nexian, IMO, Asus dan masih banyak lagi vendor smarphone didunia memproduksi android. Hal ini, karena android itu adalah sistem operasi yang Open Source sehingga bebas didistribusikan dan dipakai oleh vendor manapun. Tidak hanya menjadi sistem operasi di smartphone , saat ini android menjadi pesaing utama dari Apple pada sistem operasi Table PC. Pesatnya pertumbuhan Android selain fakor yang disebutkan diatas adalah karena Android itu sendiri adalah platform yang sangat lengkap baik itu sistem operasinya, Aplikasi dan Tools pengembangan, Market aplikasi android serta dukungan yang sanga tinggi dari komunitas Open Source di dunia, sehingga android terus berkembang pesat baik dari segi teknologi maupun dari segi jumlah device yang ada didunia. 8
http://digilib.mercubuana.ac.id/
2.2.1 Kelebihan Android Android merupakan generasi baru platform mobile, platform yang memberikan pengembangan untuk melakukan pengembangan sesuai dengan yang diharapkan. Android juga dipuji sebagai “platform mobile” pertama yang Lengkap (Complete platform), Terbuka (Open Source Platform), dan Bebas (Free Platform).
2.3. Java Java adalah bahasa pemrograman yang berorientasi objek atau yang lebih umum dikenal dengan Object Oriented Programming (OOP). Java memiliki kemampuan dalam pengorganisasian dan pengembangan perangkat lunak baik untuk perangkat standalone atau pada lingkungan jaringan. Java menggunakan model pengamanan tiga lapis (three-layer security model) untuk melindungi sistem dari untrusted Java code. Pertama, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturanaturan dasar bahasa Java. Kedua, class loader menangani pemuatan kelas Java ke runtime interpreter. Ketiga, manajer keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem window. Java secara relatif merupakan bahasa pemrograman yang baru dibanding dengan yang lainnya. Bahasa Java dikembangkan pada awal tahun 1990 oleh James Gosling di Sun Microsystems. Java diperkenalkan pada publik di tahun 1995 dan mendapat popularitas yang hebat sejak saat itu. Bahasa pemrograman Javaadalah bahasa yang masih berhubungan dengan bahasa C dan C++ tetapi dibuat cukup berbeda, dengan beberapa aspek dari C dan C++ dihilangkan dan sedikit tambahan dari bahasa pemrograman yang lain dimasukkan. Spesifikasi bahasa pemrograman Java dengan jelas dibedakan antara compile time errors yang dapat dan harus dideteksi pada saat di-compile (compile time), dengan run time errors yang terjadi pada saat dijalankan (run time).
9
http://digilib.mercubuana.ac.id/
2.4. Basis Data (Database) Menurut Connolly, dan Begg (2010,p65), Database adalah logical data yang saling terhubung dan dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Database digunakan dalam kehidupan sehari-hari baik secara sadar maupun tidak sadar, contoh database yang sering kita gunakan dalam kehidupan sehari-hari yaitu: (1) Pembayaran kartu kredit, (2) Pembayaran liburan pada agen travel, (3) Pembayaran belanja di supermarket, (4) Mencari buku diperpustakaan, (5) Peminjaman DVD, (6) Penggunaaan internet. 2.5. Metode Air Terjun (Waterfall) Model SDLC air terjun (waterfall) sering juga disebut model sekuensial linier (sequential linear) atau alur hidup klasik (classic life). Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengodean, pengujian dan tahap pendukung (support) dan menurut Sommerville (2011) Waterfall model mengambil kegiatan proses dasar spesifikasi, pengembangan, validasi, dan evolusi dan mewakili kegiatan tersebut sebagai fase proses terpisah seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi, pengujian dan sebagainya. Berikut adalah gambar model air terjun (waterfall):
Gambar 2.1. Metode Air Terjun (Waterfall) 10
http://digilib.mercubuana.ac.id/
Langkah-langkah yang harus dilakukan pada metodologi Waterfall : 2.5.1
Requirement Analysis and Definition Merupakan tahapan penetapan fitur, kendala dan tujuan sistem melalui konsultasi dengan pengguna sistem. Semua hal tersebut akan ditetapkan secara rinci dan berfungsi sebagai spesifikasi sistem.
2.5.2
System and Software Design Dalam tahapan ini akan dibentuk suatu arsitektur sistem berdasarkan persyaratan yang telah ditetapkan. Dan juga mengidentifikasi dan menggambarkan abstraksi dasar sistem perangkat lunak dan hubunganhubungannya.
2.5.3
Implementation and Unit Testing Dalam tahapan ini, hasil dari desain perangkat lunak akan direalisasikan sebagai satu set program atau unit program. Setiap unit akan diuji apakah sudah memenuhi spesifikasinya.
2.5.4
Integration and System Testing Dalam tahapan ini, setiap unit program akan diintegrasikan satu sama lain dan diuji sebagai satu sistem yang utuh untuk memastikan sistem sudah memenuhi persyaratan yang ada. Setelah itu sistem akan dikirim ke pengguna sistem.
2.5.5
Pemeliharaan (Operation & Maintenance) Dalam tahapan ini, sistem diinstal dan mulai digunakan. Selain itu juga memperbaiki error yang tidak ditemukan pada tahap pembuatan. Dalam tahap ini juga dilakukan pengembangan sistem seperti penambahan fitur dan fungsi baru.
11
http://digilib.mercubuana.ac.id/
2.6. UML (Unified Modeling Language) UML (Unified Modeling Language) adalah „bahasa‟ pemodelan untuk sistem atau perangkat lunak yang berparadigma „berorientasi objek‟. UML adalah keluarga notasi
grafis
yang didukung oleh
meta-model
tunggal, yang
membantu
pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (OO). Definisi ini merupakan definisi yang sederhana. Pada kenyataannya, pendapar orang-orang tentang UML berbeda satu sama lain. Hal ini dikarenakan oleh sejarahnya sendiri dan oleh perbedaan persepsi tentang apa yang membua sebuah proses rancang-bangun perangkat lunak efektif. UML
adalah
suatu
bahasa
yang
digunakan
untuk
menentukan,
mevisualisasikan, membangun dan mendokumentasikan suatu sisem informasi. Pada UML terdapat beberapa notasi, sebagai berikut : 2.6.1
Actor Actor
menggambarkan orang, sistem atau entitas luar yang
menyediakan informasi atau menerima informasi dari sistem. Actor menggambarkan sebuah tugas/peran dan bukannya posisi sebuah jabatan. Actor biasanya menggunakan kata benda. Dalam Use case Diagram terdapa suatu actor pemulai atau initiator actor yang membangkitkan rangsangan awal terhadap sistem, dan mungkin sejumlah actor lain yang berpartisipasi atau participating actor akan sangat berguna untuk mengetahui siapa actor pemulai tersebut .Notasi actor dapat dilihat pada gambar dibawah ini.
Gambar 2.2. Actor
12
http://digilib.mercubuana.ac.id/
2.6.2
Class Notasi utama dan yang paling mendasar pada diagram UML adalah
notasi untuk memprsentasikan suatu class beserta dengan atribut dan operasinya. Class adalah pembentuk utama dari sistem berorientasi objek. Nama Class Atribut Operasi
Gambar 2.3. Class 2.6.3
Use case Usec ase menggambarkan perilaku, termasuk didalamnya interaksi
antara Actor dengan sistem. Use case dibuat berdasarkan keperluan actor , merupakan “apa” yang dikerjakan sistem bukan ”bagaimana” sisem mengerjakannya. Setiap use case harus diberi nama yang menyatakan apa hal ynag dicapai dari hasil interaksinya dengan actor. Nama use case boleh terdiri dari beberapa kata dan tidak boleh ada dua usecase yang memiliki nama yang sama.
Gambar 2.4. Use case 2.6.4
Association antara actor dan use case Ujung
panah
pada
association
antara
actor
dan
usecase
mengidentifikasikan siapa atau apa yang meminta interaksi dan bukannya mengidentifikasikan aliran data sebaiknya gunakan garis tanpa panah untuk association antara actor dan use case.
13
http://digilib.mercubuana.ac.id/
Gambar 2.5. Association Association antara actor dan use case yang menggunakan panah terbuka untuk mengidenifikasikan bila actor berinteraksi secara pasif dengan sistem.
Gambar 2.6. Association
2.6.5
Include Include termasuk didalam usecase lain (required) / (diharuskan) pemanggilan usecase oleh usecase lain, conohnya adalah pemanggilan sebuah fungsi program tanda panah terbuka harus terarah ke sub usecase
Gambarkan association include secara horizontal, berikut adalah contohnya :
Gambar 2.7. Include
2.6.6
Extend
Extend digunakan ketika hendak menggambarkan variasi pada kondisi perilaku normal dan menggunakan lebih banyak control form dan mendeklarasikan ekstention pada use case utama atau dengan kata lain adalah perluasan dari usecase lain jika syarat atau kondisi terpenuhi. Berikut adalah contohnya :
14
http://digilib.mercubuana.ac.id/
Gambar 2.8. Extend
2.6.7
Generalization / Inheritance antara Use case Generalitation dipakai ketika ada sebuah perilaku khusus (single
condition) dan merupakan pola hubungan base-parent usecase. Digambarkan dengan generalization/inheritance antara use case secara vertical dengan inheriting use case dibawah base/ parent use case.
Gambar 2.9. Inheritance antara Usecase 2.6.8
Generalization / Inheritance antara Actors Digambarkan generalization / inheritance antara actor secara
vertical dengan inheriting actor dibawah base/parent use case. Ada 13 macam diagram yang disediakan UML untuk memodelkan aplikasi berorientasi objek adalah Use case Diagram, Acivity Diagram, Package Diagram, State Machines Diagram, Sequence Diagram, Class Diagram, Communicaton Diagram, Composite Strucure Diagram, Object Diagram, Timing Diagram, Component Diagram, Deployment Diagram, Interaction Overview Diagram, dan berikut akan dibahas beberapa diantaranya, yaitu :
15
http://digilib.mercubuana.ac.id/
2.7 Use case Diagram Use case menggambarkan sebuah fungsionalitas yang diharapkan dari sebuah sistem dan bagaimana sistem berinteraksi dengan dunia luar, yang ditekankan dalam use case diagram adalah “apa” yang diperbuat sistem, dan bukan “bagaimana” sistem itu melakukannya. Sebuah use case mempresentsikan sebuah interaksi antara actor dengan sistem. Use case diagram juga menjelaskan manfaat sistem jika dilihat menurut pandangan orang yang berada diluar sistem (actor). Use case
merupaakan
sebuah pekerjaan tertentu, misalnya login ke sistem, meng create sebuah daftar belanja dan sebagainya.
Gambar 2.10. Use case Diagram 2.8 Activity Diagram Activity Diagram menggambarkan berbagai alir aktivitas dalam sebuah sistem yang sedang dirancang, bagaimana masing-masing air berawal, decision yang mungkin terjadi dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberaoa eksekusi. Acivity diagram tidak menggambarkan sifat internal dari sebuah sistem dan interaksi antara beberapa sub sistem secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Pada UML 2.X aktivitas tidak lagi disebut sebagai activity, akan tetapi cukup disebu dengan action saja. Activity adalah struktur yang lebih tinggi yang terdiri atas action-action yang berurutan. Oleh karenanya activity diagram
16
http://digilib.mercubuana.ac.id/
menunjukan action-action yang membangun sebuah aktivitas. Berikut adalah simbol-simbol yang digunakan pada activity diagram. Tabel 2.1. Simbol Activity Diagram
2.9 Class Diagram Class adalah sebuah spesifikasi yang jika di instansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan berorientasi objek. Class menggambarkan
keadaan
(attribute/property)
suatu
sistem,
sekaligus
menawarkan layanan untuk memanipulasi keadaan tersebut (metode/fungsi). Class diagram menggambarkan struktur dan deskripsi class, packed dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi dan lainnya.
17
http://digilib.mercubuana.ac.id/
Gambar 2.11. Class Diagram Atribut dan Operation memiliki satu sifat, yaitu sebagai berikut :
- berarti Private, tidak dapat dipanggil dari luar class yang bersangkutan
# berarti Protect, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
+ berarti Public, dapat dipanggil oleh siapa saja
Hubungan Antar Class 2.9.1
Asosiasi Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class untuk memperjelas hubungan. Ditandai dengan garis lurus. Seringkali ditambahkan label dan multiplicity.
Gambar 2.12. Asosiasi dan Multipiliciy
18
http://digilib.mercubuana.ac.id/
2.9.2
Agregasi Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas”). Dinotasikan dengan diamond “kosong”. Jika dipisah tidak merubah makna.
Gambar 2.13. Agregasi
2.9.3
Pewarisan Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
2.9.4
Hubungan Dinamis Hubungan dinamis, yaitu rangkaian pesan (massage) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.
2.10 Sequence Diagram Sequence diagram menggambarkan ineraksi antar objek didalam dan disekitar sistem (termasuk pengguna, display dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram biasa digunakan untuk menggambarkan scenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output terentu, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.
19
http://digilib.mercubuana.ac.id/
Tabel 2.2. Simbol Sequence Diagram
2.11 Perbandingan Aplikasi Sejenis Melihat banyak aplikasi yang sejenis, maka dilakukan perbandingan aplikasi sejenis dengan aplikasi yang sedang dikembangkan. Keunggulan dan kelemahan aplikasi dilihat dari identifikasi fitur yang digunakan dan keterangan pengguna. Aplikasi yang dimaksud sebagai berikut : 1. Aplikasi Pemesanan Menu Makanan Berbasis
Client Server
Smartphone Berbasis Android dan Komputer (Serba Ikan Resto) Aplikasi ini adalah sebuah aplikasi yang memudahkan proses pemesanan. Dengan menggunakan ponsel pintar yang berbasis Android yang bersifat client server agar mempercepat proses pemesanan. Android mempunyai banyak kelebihan, salah satunya adalah Open Source karena berbasis
Linux.
Sehingga
banyak
kalangan
developer
yang
mengembangkan aplikasi pada platform ini. Dalam era sekarang ini banyak instansi mulai mengembangkan aplikasi yang berbasis Android, karena pada saat ini banyak masyarakat yang menggunakan ponsel yang berbasis Android. Dengan menggunakan ini pelayan tidak perlu menulis 20
http://digilib.mercubuana.ac.id/
daftar menu makanan yang dipesan oleh pelanggan. Hanya dengan memilih menu yang ada pada smartphone maka pesanan sudah tersampaikan pada server yang kemudian pada server akan merespon pesanan dan akan langsung mencetak daftar pesanan pelanggan. Daftar pesanan akan diantar ke bagian dapur untuk dibuat. Teknik ini mempercepat proses pemesanan dan pelayan lebih memfokuskan diri pada pelayanan pelanggan.
Gambar 2.14 Tampilan Awal Aplikasi Sejenis
2. Aplikasi Sistem Pemesanan Makanan dan Minuman Berbasis Android Pada KSD (Kedai Soe Soe Delivery) Sistem pesan dan antar dalam KSD (Kedai Soe Soe Delivery) bersifat komunikasi lewat sms ataupun telepon dan system yang digunakan masih belum bersifat online. Dengan hal ini, sistem pesan dan antar
dapat
diimplementasi
dalam aplikasi
mobile
yang dapat
mempermudah dalam kegiatan proses bisnisnya dan berbagai pilihan makanan sudah di tawarkan oleh tempat-tempat makanan yang menyediakan layanan antar ini. Terutama didaerah kawasan UniTel (Universitas Telkom) ini. KSD (Kedai SoeSoe Delivery) sebagai salah satu penyedia makanan memiliki layanan pesan dan antar. 21
http://digilib.mercubuana.ac.id/