BAB II LANDASAN TEORI
2.1
Warung Makan Khas Tegal
Saat ini bukan hal yang sulit untuk mencari tempat makan , mulai dari harga yang mahal sampai yang murah dari tempat yang mewah sampai tempat yang sederhana, seperti warung makan khas Tegal , warung makan khas Tegal berbeda dengan Warteg yang saat ini banyak kita temukan di daerah Jakarta dan sekitarnya dengan harga menu makan yang relatif murah dan terjangkau untuk setiap kalangan masyarakat.
Saya ambil dari cerita sebelum berdirinya warung makan khas Tegal yang orang tua saya bangun ,menurut Alm.Ayah saya Akhmad jailani ,yang kebetulan sahabat H RS Sastoro SE Mantan anggota DPR RI periode 1999 – 2004 selaku pendiri utama Koprasi Warung Tegal atau disebut dengan KOWARTEG. Warung makan Tegal berdiri sejak tahun 1971 , saat itu H.RS Sastoro.SE sebelum masa suksesnya beliau mendirikan warung makan Tegal dikolong jembatan atau di pinggir-pinggir kali menggunakan bangunan berbahan kayu dan teriplek sebagai atapnya , karna saat itu beliau tidak mampu membeli tanah di Jakarta. Tahun 1980 H RS Sastoro SE sudah mampu mendirikan Rumah Makan Tegal dan mengajak Alm.Ayah saya Akhmad Jailani agar mengikuti jejaknya membangun Warung Makan Tegal dengan mendirikan rumah makan tegal di Jakarta. Sejak saat itu warung makan Tegal yang saat ini saya kelolah mulai berdiri tepat ya tahun 1981, sampai saat ini. Seiring berjalannya waktu nama warung makan Tegal lebih dikenal dengan sebutan “Warteg”, tetapi berbeda dengan warung makan khas Tegal yang orang tua saya dulu dirikan.
Warung makan khas Tegal yang saya kelolah saat ini sudah banyak diminati dari kalangan menengah keatas sampai kalangan menengah kebawah,
5
6
karna menu lauk yang relatif murah dan harga yang terjangkau,tidak hanya itu kualitas masakan menu lauk pauknya tidak kalah nikmat dengan menu lauk yang ada direstoran, akan tetapi tempat yang kurang luas dan ruangan yang terbuka sedikit mengurangi rasa kenyamanan saat menyantap makanan karna letaknya yang masih di pinggir jalan.
2.2
Pemesanan Menu Makanan Berbasis Android Sistem pemesanan dan pelayanan di rumah makan sederhana seperti
contohnya warung makan khas Tegal masih menggunakan cara biasa, pelayanan mencatat apa saja yang di pesan pelanggan menggunakan nota, bahakan ada yang secara lisan dalam pelayanan pemesanan dan pembayarannya, terkadang sulit memilih menu makan yang disajikan karna banyaknya pelanggan yang datang ,kendala ini sering membuat pengunjung merasa malas karna harus menunggu giliran memilih menu makanan yang di sajikan karna terlalu lama mendapatkan menu makanan yang dipilih.. Aplikasi ini dapat di terapkan pada rumah makan warung tegal yang saat ini banyak diminati tentunya membutuhakan aplikasi yang membantu mengatasi masalah pada sistem pemesanan warung makan khas tegal dan pada aplikasi ini pelanggan juga bisa mengetahui apakah pesanan yang akan dipesan masih ada atau sudah habis.
2.3
Android (Menurut Nazarudin Safaat,Android revisi kedua; agustus 2014) Sejarah
android adalah sistem oprasi perangkat mobile berbasis linux yang mencakup sistem oprasi. Middleware dan aplikasi. Android menyidakan platform terbuka bagi para pengembangan untuk menciptakan aplikasi mereka. Awalnya ,google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat peranti lunak untuk ponsel/smartphone. Android merupakan generasi baru platform mobile ,platform yang memberikan pengembangan untuk melakukan pengembangan sesuai dengan yang diharapkannya. Android secara luas adalah sistem operasi yang berbasis Linux dan diperuntukkan untuk mobile device seperti PC, Tablet atau Smartphone. Bagi
7
anda pengguna gadget pasti anda sudah tidak asing dengan sistem operasi yang memiliki lambang robot dengan dua antena ini.
Versi Android : 1. Android Beta : Pertama kali dirilis pada 5 November 2007, kemudian pada 12 November 2007 Software Development Kit (SDK) dirilis oleh Google 2. Android 1.0 Astro : Pertama kali dirilis pada 23 Spetember 2008. Sebenarnya Android versi pertama ini akan dinamai dengan nama “Astro” tapi karena alasan hak cipta dan trademark nama”Astro” tidak jadi disematkan pada versi pertama dari OS Android ini. 3. Android 1.1 Bender : Pertama kali dirilis pada 9 Februari 2009. Versi Android kedua ini juga mengalami masalah penamaan yang sama dengan versi pertamanya. Pada awalnya Android ini akan diberi nama “Bender” akan tetapi karena alasan melanggar trademark, nama “Bender” tidak jadi disematkan pada versi Android ini. 4. Android 1.5 Cupcake Pertama kali dirilis pada 30 April 2009. Nah, mulai versi Android ini penamaan menggunakan nama makan pencuci mulut (dessert) mulai digunakan, karena ini merupakan versi yang ketiga maka penamaan diawali dengan huruf “C” dan jadilah “Cupcake” menjadi nama resmi dari versi OS Android ketiga ini. OS ini berbasiskan pada kernel Linux 2.6.27 dan menambahkan beberapa update serta UI baru dari versi Android sebelumnya. 5. Android 1.6 Donut Dirilis pertama kali pada 15 September 2009. Terdapat peningkatan pada fitur pencarian dan UI yang lebih user friendly. Pada versi ini juga sudah mendukung teknologi CDMA/EVDO, 802.1x, VPNs. Kemudian support layar dengan resolusi WVGA.
8
6. Android 2.0/2.1 Éclair Dirilis pertama kali pada 9 Desember 2009. Terjadi penambahan fitur untuk pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth 2. 7. Android 2.2 Froyo (Froze Yoghurt) Dirilis pertamakali pada 20 Mei 2010 pada smartphone Google Nexus One. Pada versi ini sudah support terhadap Adobe Flash Player 10.1. Peningkatan pada kecepatan membuka dan menutup aplikasi, serta penggunaan SD Card sebagai tempat penyimpanan aplikasi. 8. Android 2.3 Gingerbread Pertama kali diperkenalkan pada 6 Desember 2010. Terjadi banyak peningkatan pada versi Android yang satu ini dibandingkan dengan versi sebelumnya. Dirancang untuk memaksimalakan kemampuan aplikasi dan game. Serta mulai digunakannya Near Field Communication (NFC). Perbaikan terhadap dukungan layar resolusi WXGA dan diatasnya. Beberapa versi update yang dirilis antara lain v.2.3.3 hingga v.2.3.7. 9. Android 3.0/3.1 Honeycomb Pertama kali diperkenalkan pada 22 Februari 2011 dan Motorola Xoom adalah yang pertama kali menggunakannya. Android versi ini merupakan OS yang didesain khusus untuk pengoptimalan pengunaan pada tablet PC. 10. Android 4.0 ICS (Ice Cream Sandwidch) Pertama kali dirilis pada 19 Oktober 2011. Smartphone yang pertama kali mengunakan OS Android ini adalah Samsung Galaxy Nexus. Secara teori semua perangkat seluler yang menggunakan versi Android sebelumnya, Gingerbread, dapat di-update ke Android Ice Cream Sandwich. 11. Android versi 4.1& 4.2 (Jelly Bean) Android Jelly Bean yaang diluncurkan pada acara Google I/O lalu membawa sejumlah keunggulan dan fitur baru. Penambahan baru diantaranya meningkatkan input keyboard, desain baru fitur pencarian, yang baru dan pencarian melalui Voice Search yang lebih cepat.
9
12. Android versi 4.0 ke atas adalah generasi platform yang digunakan untuk tablet pc. Sementara versi 4.0 sudah merupakan plkaformyang bisa dipakai di smartphone dan tablet pc.
2.4
Android SDK (Software Development Kit) Android SDK adalah tools API (Application Programming Interface) yang
diperlukan untuk memulai mengembangkan aplikasi pada platformAndroid menggunakan bahasa pemrograman Java. Beberapa fitur Android yang penting adalah sebagai berikut : a. Framework aplikasi yang mendukung penggantian komponen dan reusable. b. DVM dioptimalkan untuk perangkat mobile. c. Integrated browser berdasarkan engine open source WebKit. d. Grafis yang dioptimalkan dan didukung olehlibraries grafis 2D, grafis 3D berdasarkan spesifikasi OpenGL ES 1.0. e. SQLite untuk penyimpanan data. f. Dukungan untuk audio, video dan gambar. g. Bluetooth, EDGE, 3G, Wifi. h. Kamera, GPS, kompas dan accelerometer. i. Lingkungan development yang lengkap dan kaya termasuk perangkat emulator, tools untuk debugging, profil dan kinerja memori serta plugins untuk IDE Eclipse.
2.5
Eclipse Menurut, Harvey Deitel,2012, Eclipse merupakan Integrated Development
Environment
(IDE)
yang
menyediakan
tools
yang
mendukung
proses
pengembangan perangkat lunak, termasuk editor untuk menulis dan mengubah program serta sebagai debugger untuk mencari kesalahan-kesalahan logika. Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse :
10
•
Multi-platform : Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS.
•
Mulit-language : Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
•
Multi-role : Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya. Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis
dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.
Gambar 2.1 Eclipse
11
2.6 SQLite 2.6.1 Penjelasan Umum SQLite merupakan sebuah system managemen basisdatarelasional yang bersifat
ACID - compliant dan memiliki ukuran pustaka kode yang relatif
kecil, ditulis dalam bahasa C. SQLite merupakan proyek yang bersifat public domain yang dikerjakan oleh D. Richard Hipp. Tidak seperti pada paradigma client-server umumnya, Inti SQLite bukanlah sebuah sistem yang mandiri yang berkomunikasi dengan sebuah program, melainkan sebagai bagian integral
dari sebuah
program
secara
keseluruhan.
Sehingga
protokol
komunikasi utama yang digunakan adalah melalui pemanggilan API secara langsung melalui bahasa pemrograman. Mekanisme seperti ini tentunya membawa keuntungan karena dapat mereduksi overhead, latency times, dan secara keseluruhan lebih sederhana. Seluruh elemen basisdata (definisi data, tabel, indeks, dan data) disimpan sebagai sebuah file. Kesederhanaan dari sisi disain tersebut bisa diraih dengan cara mengunci keseluruhan file basis data pada saat sebuah transaksi dimulai.
2.6.2
Fitur SQLite mengimplementasikan hampir seluruh elemen-elemen
standar
yang berlaku pada SQL-92, termasuk transaksi yang bersifat atomic, konsistensi basisdata, isolasi, dandurabilitas (dalam bahasa inggris lebih sering disebut ACID), trigger, dankueri-kueri yangkompleks. Tidak ada pengecekan tipe sehingga data bisa dientrikan dalam bentukstring untuk sebuah kolom bertipe integer. Beberapa kalangan melihat hal ini sebagai sebuah inovasi yang menambah nilai guna dari sebuah basisdata, utamanya ketika digunakan dalam bahasa pemrograman berbasis script (PHP, Perl), sementara kalangan lain melihat hal tersebut sebagai sebuah kekurangan. Beberapa proses ataupun thread dapat berjalan secara bersamaan dan mengakses basisdata yang sama tanpa mengalami masalah. Hal ini disebabkan karena akes baca data dilakukan secara paralel. Sementara itu akses tulis data hanya bisa dilakukan jika tidak ada proses tulis lain yang sedang dilakukan, jika tidak, proses tulis tersebut akan gagal dan
12
mengembalikan kode kesalahan (atau bisa juga secara otomatis akan mencobanya kembali sampai sejumlah nilai waktu yang ditentukan habis). Hanya saja ketika sebuah
tabel
temporer
dibuat,
mekanisme
penguncian
pada
proses
multithreadakan menyebabkan masalah. Update yang terkini (versi 3.3.4) dikatakan telah memperbaiki masalah ini. Sebuah program yang mandiri dinamakan SQLite disediakan dan bisadigunakan untuk mengeksekusiqueri dan memanajemen file-file basisdata SQLite. Program tersebut juga merupakan contoh implementasi penulisan aplikasi yang menggunakan pustaka SQLite.
2.7
ADB (Android Debug Bridge) ADB
adalah alat serbaguna yang bisa mengendalikan perangkat
Android(emulator) yang terhubung dengan komputer. Dengan ADB kita bisa menggunakan smartphone Android kita untuk melakukan pengujian aplikasi.
2.8
ADT(Android Developer Tools) Safaat (2012 : 6) juga memaparkan bahwaAndroid Development Tools
(ADT) adalah plug-inyang didesain untuk IDE Eclipse yang memberi kita kemudahan dalam mengembangkan aplikasi Android dengan menggunakan IDE Eclipse. Dengan menggunakan ADT untuk Eclipse, ini akan memudahkan kita dalam
membuat
aplikasi
projectAndroid,
membuat
GUI
aplikasi,
dan
menambahkan komponen–komponen yang lainnya. Selain itu kita juga dapat melakukan running aplikasi menggunakanAndroid SDKmelaluiEclipse. Dengan ADT kita juga dapat melakukan pembuatan packageAndroid (.apk) yang digunakan untuk distribusi aplikasi Android yang kita rancang. Mengembangkan aplikasi Android dengan menggunakan ADT di Eclipse sangat mudah dan baik untuk memulai mengembangkan aplikasiAndroid. Semakin tinggiplatform Android yang kita gunakan, maka penggunaan ADT dianjurkan untuk memakai versi yang lebih baru, karena munculnyaplatform baru diikuti oleh munculnya versi ADT yang terbaru. Versi ADT yang kami gunakan untuk Eclipsedalam pembuatan aplikasi ini adalah versi terbaru ADT yang telah dirilis, yaitu ADT 20.0.3(Agustus 2012).
13
2.9
JDK (Java Development Kit) Menurut
DeCoster (2012),
Java
adalah
sebuah
teknologi
yang
diperkenalkan oleh Sun Microsysytems pada pertengahan tahun 1990. Menurut definisi Sun,Java adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada computer standalone ataupun pada lingkungan jaringan. Untuk membuat programJava dibutuhkan kompiler dan interpreter untuk program Java berbentuk Java Development Kit(JDK) yang diproduksi oleh Sun Microsystems. Sebelum memulai instalasiAndroid SDK, terlebih dahulu kita harus melakukan instalasi JDK dikomputer. JDK yang kami gunakanuntuk dapat mengompilasi aplikasi Android yang kami rancang iniadalah Java SE Development Kit 8
2.10
JSON (Menurut Deitel;2012) JSON (JavaScript Object Notation) adalah suatu
format pertukaran data komputer. Format dari JSON adalah berbasis teks, dapat terbaca oleh manusia, digunakan untuk mempresentasikan struktur data sederhana, dan tidak bergantung dengan bahasa apapun. Biasanya digunakan pada aplikasi Ajax. Format JSON sering digunakan untuk mentransmisikan data terstruktur melalui koneksi jaringan. Secara umum, JSON digunakan untuk mentransmisikan data antara server dan aplikasi web,Jenis media internet yang resmi untuk JSON adalah aplikasi/json. Format JSON sering digunakan untuk serialisasi dan mengirimkan data terstruktur melalui koneksi jaringan, terutama untuk pengiriman data antara server dan aplikasi web melayani sebagai alternatif ke XML.
2.11 ERD (Entity Relaltionship Diagram) Sebuah Entity Relaltionship Diagram (ERD) merupakan sebuah gambaran yang menunjukkan informasi yang telah dibuat, disimpan dan digunakan oleh suatu sistem bisnis. Seorang analis dapat membaca Entity Relaltionship Diagram untuk menemukan bagian-bagian individu dari informasi di dalam sistem dan bagaimana informasi tersebut terorganisir dan terkait satu sama lain.
14
Pada ERD, jenis yang sama dari informasi ditempatkan pada kelas yang sama dan ditempatkan di dalam kotak yang disebut entitas. Garis ditarik antara entitas untuk mewakili hubungan antar data. ERD menyiratkan ada perintah, meskipun entitas yang terkait satu sama lain biasanya ditempatkan dekat bersamasama.
2.12
Elemen ERD Ada tiga elemen dasar dalam bahasa pemodelan data (entitas, atribut dan
hubungan), yang masing-masing diwakili oleh simbol grafis yang berbeda. Ada banyak set simbol berbeda yang dapat digunakan pada ERD. •
Entitas: Sebuah entitas adalah sesuatu yang dapat diidentifikasi dalam lingkungan kerja user; sesuatu yang user ingin telusuri. Contoh entitas dalam gambar adalah pengunjung.
•
Atribut: Entitas memiliki atribut yang menggambarkan karakteristik entitas itu. Contoh atribut adalah Pno, nama_pengunjung, pekerjaan.
•
Hubungan/Relationship: Entitas dapat diasosiasikan satu sama lain dengan hubungan atau relationship dan hubungan entitas ditunjukkan oleh garis-garis yang menghubungkan entitas satu sama lain. Contoh, pengunjung meminjam buku, putugas meminjamkan buku.
Tabel 2.1 Simbol ERD IDEF1X
Chen
Entitas
Atribut
Nama-atribut Nama-atribut Nama-atribut
Namaatribut
Hubungan (Relationship) Relationship-name
Relationship-name
15
2.13 UML (Menurut
Widodo, Prabowo Pudjo dan Herlawati;2011).Unified
Modelling Language bahasa standar yang digunakan untuk menjelaskan dan memvisualisasikan artifak dari proses analisis dan disain berorientasi objek. Hal ini disebabkan karena UML menyediakan standar pada notasi dan diagram yang bisa digunakan untuk memodelkan suatu sistem. UML menjadi bahasa yang bisa digunakan untuk berkomunikasi dalam perspektif objek antara user (pengguna) dengan developer (pengembang sistem), antara developer dengan developer, developer analisis dengan developer disain, dan antara developer disain dengan developer pemrograman. Dengan UML memungkinkan para penggembang sistem melakukan permodelan secara visual, yaitu penekanan pada penggambaran, bukan didominasi oleh narasi. Permodelan visual
membantu untuk menangkap struktur dan
kelakuan dari objek, mempermudah penggambaran interaksi antara elemen dalam sistem, dan mempertahankan konsistensi antara disain dan implementasi dalam pemrograman.
2.14 Use Case Diagram Use case adalah teknik untuk merekam persyaratan fungsional sebuah sistem. Use case mendeskripsikan interaksi tipikal antara para pengguna sistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem tersebut digunakan. Diagram use case bersifat statis. Dengan digram ini, dapat memperlihatkan himpunan use-case dan aktor-aktor. Use case menggambarkan external view dari sistem yang akan kita buat modelnya. Komponen pembentuk diagram use case adalah: 1. Aktor (actor), menggambarkan pihak-pihak yang berperan dalam sistem. 2. Use case, aktivitas/saran yang disiapkan oleh bisnis/sistem. 3. Hubungan (link), aktor mana saja yang terlibat dalam use case ini.
16
Tabel 2.2 Simbol Use Case
NO
GAMBAR
NAMA
KETERANGAN Actor adalah orang, kelompok,
1
Actor
atau sistem yang berinteraksi dengan use case. Deskripsi dari urutan aksi-aksi
2
Use Case
yang ditampilkan sistem yang menghasilkan suatu hasil yang terukur bagi suatu actor. Apa
3
Association
yang
menghubungkan
antara objek satu dengan objek lainnya. Menspesifikasikan paket yang
4
System
menampilkan
sistem
secara
terbatas. Menspesifikasikan bahwa use 5
Extend
case target memperluas perilaku dari use case sumber pada suatu titik yang diberikan.
6
Include
Menspesifikasikan bahwa use case sumber secara eksplisit. Interaksi
aturan-aturan
dan
elemen lain yang bekerja sama 7
Collaboration
untuk menyediakan prilaku yang lebih besar dari jumlah dan elemen-elemennya (sinergi).
17
2.15
Diagram Robustness Robustness adalah membantu untuk menjembatani adanya ruang kosong
dari analisis desain yg sebenarnya terhadap implementasi codingnya, Menganalisa text use case dan mengidentifikasi anggapan awal dari objek untuk setiap use case. Robustness Diagram ini diklasifikasikan ke dalam : boundary object, entity object (objek entitas), dan Controller (dimana biasanya berfungsi sebagai kata kerja atau aktivitas). Analisis
dilakukan
dengan
cara
membuat
robustness
diagram
yang
menghubungkan antara analisis dan desain. 3 Stereotype Diagram Robustness. 1. Boundary objek : interface antara sistem dan dunia luar. boundary objek seperti layar atau halaman web (layar presentasi dimana aktor melakukan interaksi). 2.
Objek entitas : kelas dari domain model.
3.
Controlers: perekat antara boundary objek dan objek entitas.
Gambar 2.2 Robustness Diagram
18
2.16
Diagram Sequence Sequence diagram secara grafis menggambarkan bagaimana objek-objek
berinteraksi satu sama lain lewat pesan dalam mengeksekusi sebuah use case atau sebuah operasi. Notasi yang ada pada sequence diagram adalah sebagai berikut :
2.16.1 Actor
Gambar 2.3 Actor Sequence Diagram
Actor yang memulai pada use case akan digambarkan dengan simbol use case actor.
2.16.2 System
Gambar 2.4 System Sequence Diagram
System digambarkan dengan sebuah kotak. Titik dua ( : ) adalah sebuah notasi yang menunjukkan suatu instance yang berjalan pada system.
2.16.3 Lifelines
Gambar 2.5 Lifelines Sequence Diagram
19
Garis putus-putus vertikal yang terdapat pada actor dan system yang menggambarkan berjalannya sequence . 2.16.4 Activation Bars
Gambar 2.6 Activation Bars Sequence Diagram
Activation Bars merupakan tiang yang berada setelah lifelines yang menggambarkan periode waktu ketika participant aktif dalam interaksi.
2.16.5 Input Messages
Gambar 2.7 Input Messages Sequence Diagram
Digambarkan dengan panah horizontal dari actor ke system
yang
menunjukan message yang diinput.
2.16.6 Output Messages
Gambar 2.8 Output Messages Sequence Diagram
Digambarkan dengan panah putus-putus secara horizontal dari system ke actor yang menunjukkan message sebagai output.
20
2.17
Class Diagram Class Diagram menggambarkan struktur objek dari sistem. Diagram ini
menggambarkan object-object class yang menyusun sistem dan juga relasi yang terjalin diantara object-object class itu. Notasi yang terdapat pada class diagram adalah sebagai berikut:
2.17.1 Class
Gambar 2.9 Class Class Diagram
Class menggambarkan sekumpulan objek yang memiliki atribut dan behavior yang dikerjakan oleh objek tersebut.
2.17.2 Attribute
Gambar 2.10 Attribute Class Diagram
Atribut merupakan property dari class yang berisi tipe data yang dimiliki oleh instance dari suatu class.
21
2.17.3 Behavior
Gambar 2.11 Behavior Class Diagram
Operation merupakan kegiatan-kegiatan yang dapat dilakukan oleh suatu kelas dan digambarkan berupa suatu fungsi.
2.17.4 Inheritance
Gambar 2.12 Inheritance Class Diagram
Inheritance merupakan konsep dimana attributes dan behaviors pada suatu class dapat diturunkan atau di inherited atau digunakan kembali oleh class lain. Inheritance digambarkan dengan garis dengan tanda panah yang menuju class supertype atau induk class yang menurunkan attributes dan behaviorsnya.
22
2.17.5 Aggregation
Gambar 2,13 Aggregation Class Diagram Aggregation menggambarkan hubungan antara dua atau lebih objek, dimana salah satu objek merupakan bagian dari objek lain. Hubungan ini digambarkan dengan garis dengan ujung berupa berlian kosong. 2.17.6 Composition
Gambar 2.14 Composition Class Diagram
Composition menggambarkan hubungan yang lebih kuat antara dua atau lebih objek, dimana salah satu objek merupakan bagian dari objek lain dan ketika salah satu objek dihancurkan, objek lain juga akan ikut hancur. Hubungan ini digambarkan dengan garis dengan ujung berupa berlian berwarna hitam.
23
2.17.7 Association
Gambar 2.15 Association Class Diagram Association menggambarkan relasi antar-object / instance dari class. Pada umumnya association digambarkan sebagai garis antar dua class.
2.18 Deployment Diagram Deployment diagram menurut Munawar;2005, menunjukkan tata letak sebuah sistem secara fisik, menampakkan bagian-bagian software yang berjalan pada bagian-bagian hardware. Deployment Diagram mewakili pandangan pengembangan sistem sehingga akan hanya ada satu deployment diagram untuk satu sistem. deployment diagram terdiri dari node-node merupakan perangkat keras fisik yang digunakan untuk menyebarkan aplikasi
2.19
Metode Iconix (Menurut RosenBerg, Dooug. and Kendall Scott; tahun 2001) Iconix
adalah metodologi pengembangan perangkat lunak yang mendahului kedua Rasional Unified Process ( RUP ) Metode Iconix merupakan salah satu model dari rekayasa perangkat lunak yang dapat digunakan untuk pengembangan sebuah software. Hubungan antara UML dan Iconix agar penggunaan UML menjadi efisien, karena tetap terfokus pada requirement. Iconix proses suatu metode dimana tidak terlalu banyak membahas pada analisa, desain maupun implementasi programnya , namun lebih melihat kepada kebutuhan pengguna dan lebih terfokus pada interface serta menyederhanakan proses tersebut, sehingga proses pengembangan perangkat lunak akan menjadi lebih efisien.
24
Gambar 2.16. Bagan proses pemodelan ICONIX Iconix membagi proses menjadi 2 aliran kerja yaitu Static dan Dynamic yang saling berhubungan terus-menerus dan beriterasi. Bagian yang static berhubungan dengan struktur sedangkan dynamic berhubungan dengan behaviour.
Gambar 2.17 model statis umpan balik Pada gambar 2.17 adalah umpan balik sbelum masuk ke desain rinci use case model dan robustness diagram. Langkah-langkah yang dilakukan untuk memulai merancangan menggunakan metode Iconix adalah sebagai berikut :
25
2.19.1 Analisis kebutuhan : •
Functional requirement. Mendinisikan hal-hal yang dilakukan oleh sistem , kebutuhan ini dapat didefinisikan oleh konsumen/klien bersama dengan analis.
•
Domain modeling. Pemodelan awal untuk membangun istilah yang dipakai dalam proyek aplikasi yang akan dibuat, domain model juga menunjukan ruang lingkup dan sebagai dasar pembuatan use case.
•
Behavior requirement. Mendefinisikan bagimana sistem akan berintraksi. Yang dilakukan adalah membuat desain Gui Storyboard dan identifikasi use case yang muncul.
2.19.2 Analisis dan Desain Awal : •
Robustness analyisis. Robustness diagram digunakan sebagi jembatan yang menghubungkan antara proses analisa dan desain. Pada robustness diagram dituliskan juga use case deskripsinya dan digambarkan.
•
Updet domain model. Saat membuat use case dan robustness diagram jika ada objek baru yang muncul, dapat dituliskan pada domain model.
•
Memberikan nama semua fungsi fungsi controller pada domain model
2.19.3 Desain Rinci Sistem Aplikasi •
Sequence diagram akan menggambarkan bagaimana use case bekerja secara detail dan kronologis. Fungsi utama sequence diagram adalah mengalokasikan behavior dari use case.
•
Update domain model. Saat menggambarkan sequence diagram update domain model dapat dilakukan dengan menambahkan operation (method, function, message) pada domain objek. Domain objek menjadi domain class atau entity dan domain model menjadi static model atau class diagram.
2.19.4 Implementasi •
Melakukan pengujian pada aplikasi , pengujian secara integrasi dan sesuai dengan sekenario. Pengujian yang dilakukan dapat berupa black box testing dan melakukan analisa kode program dari hasil pengujian dan melakukan perubahan dari hasil analisa
26
2.20
Blackbox Testing Metode uji coba blackbox memfokuskan pada keperluan fungsional
dari software. Karena itu uji coba blackbox memungkinkan pengembang softwareuntuk membuat himpunan kondisi input yang akan melatih seluruh syarat–syarat fungsional suatu program. Uji coba blackbox bukan merupakan alternatif
dari
uji
coba
whitebox,
tetapi merupakan
pendekatan
yang
melengkapi untuk menemukan kesalahan lainnya, selain menggunakan metode whitebox. Uji coba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, di antaranya : 1. Fungsi – fungsi yang salah atau hilang 2. Kesalahan interface 3. Kesalahan dalam struktur data atau akses database eksternal 4. Kesalahan performa 5. Kesalahan inisialisasi dan terminasi Tidak seperti metode whitebox yang dilaksanakan di awal proses, uji coba blackbox diaplikasikan di beberapa tahapan berikutnya. Karena uji coba blackbox
dengan
sengaja
mengabaikan
struktur
kontrol,
sehingga
perhatiannyadifokuskan pada informasi domain.Uji coba blacbox didesain untuk dapat menjawab pertanyaan – pertanyaan berikut : 1. Bagaimana validitas fungsionalnya diuji? 2. Jenis input seperti apa yang akan menghasilkan kasus uji yang baik? 3. Apakah sistem secara khusus sensitif terhadap nilai input tertentu? 4. Bagaimana batasan – batasan kelas data diisolasi? 5. Berapa rasio data dan jumlah data yang dapat ditoleransi oleh sistem? 6. Apa akibat yang akan timbul dari kombinasi spesifikdata pada operasi sistem? Dengan mengaplikasikan uji coba blackbox, diharapkan dapat menghasilkan sekumpulan kasus uji yang memenuhi kriteria berikut : 1.
Kasus uji yang berkurang, jika jumlahnya lebih dari 1, maka jumlah
dari uji kasus tambahan harus didesain untuk mencapai uji coba yang cukup beralasan.