BAB 2
LANDASAN TEORI
2.1. Softwere Engineering 2.1.1. Definisi
Penetapan dan penggunaan prinsip-prinsip rekayasa dalam rangka mendapatkan perangkat lunak yang ekonomis, yaitu perangkat lunak yang diandalkan dan bekerja secara efisien mesin (Pressman, (2005), p 18).
2.1.2. Metode Pengembangan 2.1.2.1. Process Model
Process Model adalah sekumpulan aktifitas, aksi, tugas, dan produk kerja yang dibutuhkan untuk membangun piranti lunak yang berkualitas tinggi (Pressman, (2005), p 77).
Spiral model
Spiral model adalah pengembangan model proses perangkat lunak yang merangkaikan dasar dari prototyping dengan kontrol dan aspek semantik dari model waterfall (Pressman (2005), p 86).
Gambar 2.1 Spiral Model
2.1.2.2. UML (Unified Modeling Language)
UML adalah standar bahasa grafik dari pemodelan perangkat lunak bersifat objek (Lethbridge (2002), p 151).
Use-Case diagram
Use-Case diagram adalah notasi UML untuk menunjukan hubungan antara sekumpulan use-case dan aktor (Lethbridge(2002),p 237).
Gambar 2.2 Contoh gambar diagram usecase (sumber : http://yudipurnawan.wordpress.com/2008/04/24/unified-
modeling-language-uml)
Sequence diagram
Sequence diagram menunjukan urutan dari pertukaran pesan oleh sekumpulan objek melakukan tugas tertentu (Lethbridge(2002), p 270).
Gambar 2.3 Contoh gambar sequence diagram (sumber : http://bangunariyanto.wordpress.com/category/kampus/page/4
)
Activity diagram
Activity diagram dipergunakan untuk memahami aliran kerja dari objek dan menunjukan interaksi antara use-cases yang berbeda.
Gambar 2.4 Contoh gambar activity diagram (sumber : http://www.tejhost.com/2010_08_01_archive.html)
Kelebihan dari activity diagram adalah merepresentasikan aktifitas yang sedang terjadi bersama-sama dengan menggunakan fork, joins, dan rendezvous.
Fork memiliki satu transisi masuk dan beberapa transisi keluar.hasil dari eksekusi tersebut dibagi menjadi dua Thread yang terjadi bersama-sama.
Gambar 2.5 Contoh gambar activity fork (sumber : http://www.claudiodesio.com/ooa&d/UMLSR_EN/DSR/ACTD.
htm)
Join memiliki beberapa transisi masuk dan satu transisi keluar . Transisi keluar akan berjalan bila semua transisi masuk telah berjalan.
Gambar 2.6 Contoh gambar activity join (sumber : http://www.claudiodesio.com/ooa&d/UMLSR_EN/DSR/ACTD.
htm)
Redezvous memiliki beberapa transisi masuk dan beberapa transisi keluar. Ketika semua transisi masuk sudah berjalan ,sistem akan mengambil semua transisi keluar pada thread yang berbeda (Lethbridge(2002), p 284).
Gambar 2.7 Contoh gambar activity redezvous (sumber : http://www.claudiodesio.com/ooa&d/UMLSR_EN/DSR/ACTD.
htm)
2.2. Database Sistem
Menurut Connolly dan Begg (2005, p. 15) Database adalah koleksi bersama data yang berhubungan secara logis, dan deskripsi data ini dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Database digunakan untuk membantu perusahaan atau pemakai untuk mengelola informasi yang dibutuhkan secara cepat dan mudah, baik untuk memasukan dan menyimpan informasi baru maupun memperbaiki informasi yang sudah ada dan menampilkannya dalam
berbagai bentuk dan format yang tepat dan sangat membantu misalnya dalam bentuk laporan grafik maupun dalam bentuk peta yang dapat menghasilkan suatu ringkasan yang memberikan kemudahan bagi pemakai mengenai sistem terkini.
Gambar 2.8 Contoh gambar basis data sebuah harddisk (sumber : http://4.bp.blogspot.com/_gpANt0UWpoo/TDxXCMrVl7I/AAAAAAAAA
EA/Fa7UWrCj45o/s1600/bd_harddisk_u.jpg)
2.2.1. DBMS
Menurut Connolly dan Begg (2005, p. 16) DBMS adalah Sebuah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, memelihara, dan mengontrol akses ke database.
Menurut Connolly dan Begg (2005, p. 16) biasanya DBMS menyediakan fasilitas sebagai berikut :
a. Memungkinkan pengguna untuk mendefinisikan database, pada umumnya melalui Definition Data Language (DDL). DDL memungkinkan pengguna
untuk menentukan jenis dan struktur data dan kendala pada data yang akan disimpan dalam database.
b. Hal ini memungkinkan pengguna untuk memasukkan, memperbaharui, menghapus dan mengembalikan data dari database, biasanya melalui Data Manipulation Language (DML). Memiliki sebuah repositori pusat untuk seluruh data dan deskripsi data memungkinkan DML untuk menyediakan fasilitas penyelidikan umum untuk data ini, disebut bahasa query. Penyediaan bahasa query menyelesaikan masalah dengan sistem berbasis file di mana pengguna harus bekerja dengan seperangkat tetap pertanyaan atau ada proliferasi program, memberikan masalah manajemen softwere utama. Bahasa query yang paling umum adalah Structured Query Language (SQL, diucapkan 'SQ-L', atau 'See-Quel '), yang sekarang baik formal dan de facto bahasa standar untuk DBMS relasional.
2.2.2. Perancangan Database Sistem
Menurut Connolly dan Begg (2005, pp. 418 - 419) Metodologi perancangan database terbagi atas 3 tahapan, yaitu:
1. Perancangan Database Konseptual
Proses membangun model informasi yang digunakan dalam sebuah perusahaaan, terbebas dari semua pertimbangan fisik. model data konseptual merupakan sumber informasi untuk fase desain logikal.
2. Perancangan Database Logical
Proses membngun informasi yang digunakan dalam sebuah perusahaan yang didasarkan oleh data model spesifik, dan terbebas dari DBMS (Database Management System)
tertentu dan pertimbangan fisik lainnya. Model dan konseptual yang telah dibuat sebelumnya, diperbaiki dan dipetakan kedalam model data logikal.
3. Perancngan Database Fisikal
Proses memproduksi sebuah deskripsi dari implementasi database dalam penyimpanan sekunder (secondary storage), yang menggambarkan struktur penyimpanan dan metode akses yang digunakan untuk mencapai akses yang efisien kedata. dapat dikatakan juga, desain fisikal merupakan cara pembuatan menuju sistem DBMS tertentu.
2.3. Internet
Internet adalah jaringan international yang terdiri dari jutaan jaringan kecil yang menghubungkan pendidikan, komersial, nonprofit, dan organisasi kemiliteran, serta individual.
Komputer klien adalah komputer yang meminta data atau servis.
Server atau Host adalah komputer pusat yang membagikan data atau servis yang dimintai. (Williams and sawyer(2007),p60).
2.3.1. Sejarah internet
“ARPAnet adalah sebuah jaringan antar komputer. Internet merupakan jaringan dari jejaring. Jejaring antar planet akan menjadi jaringan internet.” (Haas(2005),p2-13)
Sebelum ARPAnet
• 1957
USSR menerbitkan Sputnik
Terjadi “Sputnik Shock” di USA
• 1958
Kongres US memberikan dana untuk Advance Research Project Agency (ARPA)
Design ARPAnet dimulai
Kelahiran ARPAnet
• 1969
Bell Lab menciptakan ESS-1, switch pertama
• 1970
ARPAnet menggunakan Network Control Protocol (NCP)
• 1971
ARPAnet Menghubungkan 15 situs termasuk organisasi dan universitas
• 1972
Ray Tomlinson menciptakan aplikasi email
Kesuksesan TCP/IP
• 1978
TCP terpecah menjadi TCP dan IP
• 1983
ARPAnet meng-convert TCP/IP
UNIX dirilis, sebuah kernel untuk TCP/IP
Internet Activity Board (IAB) berdiri
Lanjutan Milestone
• 1984
Terciptanya Domain Name System (DNS)
• 1985
Symbolics.com domain pertama yang tercatat
Pendiri ARPAnet
• J.C.R Licklinder
Distributor network dan pengalamatan
• Robert Taylor
Designer ruang kerja ARPA
• Larry Roberts ArsitekturARPA
• Barry Wessler
Administrator ARPA
2.2.3. HTTP
Hyper Text Transfer Protocol (HTTP) adalah serangkaian aturan untuk pertukaran file (teks, grafik, suara, video, dan lain sebagauinya) didalam World Wide Web melalui protokol TCP/IP yang merupakan protokol utama dalam pertukaran informasi di internet.
Konsep dasar yang merupakan bagian dari HTTP termasuk ide bahwa di dalam sebuah file bisa terdapat referensi ke file lain dimana pemilihan file tersebut akan memicu terjadinya transfer request.
Beberapa web server dalam memenuhi layanan HTML dan file-file lain yang dapat dilayaninya, menambahkan sebuah HTTP daemon, yaitu program yang didesain untuk menunggu HTTP request dan melayanirequest apabila terjadi. HTTP request ini berasala dari HTTP client seperti web browser.
2.2.4. World Wide Web (WWW)
Menurut Jill Ellworth (1997, p. 3) World Wide Web (WWW) merupakan sistem yang menyebabkan pertukaran data di Internet menjadi mudah dan efisien. Web terdiri atas dua komponen dasar Server Web dan Browser Web. Server Web adalah sebuah komputer
dan perangkat lunak yang menyimpan dan mendistribusikan data ke komputer lain yang meminta data melalui Internet. Browser Web adalah sebuah komponen dan peranngkat lunak yang dijalankan pada komputer client yang meminta informasi dari Server Web dan menampilkan sesuai dengan file itu sendiri. Koneksi web ini menggunakan arsitektur client/server.
2.4. Mobile Application
Android merupakan software toolkit baru yang open source untuk telepon genggam yang dibuat oleh Google dan Open Handset Alliance.
(Burnette(2009). p 14).
2.4.5. Kelebihan dan Kekurang Android
Meski saat ini sudah banyak platform mobile di pasaran seperti : Symbian, IOS, Windows Mobile, Blackberry, Java Mobile Edition, Linux Mobile (LiMo), dsb, namun Android masih bisa menyaingi platform mobile tersebut. Beberapa fitur – fitur memang sudah ada pada platform sebelumnya, namun Android adalah yang pertama menggabungkan fitur – fitur sebagai berikut :
1. Merupakan pengembang platform bebas yang berbasis linux dan open source, bebas karena pengembang dapat menggunakan dan menyesuaikan platform tanpa harus membayar royalti.
2. Sebuah komponen berbasis arsitektur yang terinspirasi oleh mashup internet. Bagian dari satu aplikasi dapat dikembangkan, digantikan, ditingkatkan komponennya sesuai dengan versi anda sendiri. Sehingga dapat memunculkan berbagai kreativitas pada mobile application.
3. Memiliki layanan berbasis lokasi menggunakan GPS atau triangulasi menara sel untuk menyesuaikan dimana anda berada.
4. Memungkinkan anda untuk memanfaatkan kekuatan penyimpanan lokal untuk berhubungan dengan komputasi dan sinkronisasi. Browser dan peta views dapat ditanamkanlangsung
pada aplikasi anda, semua dapat ditingkatkan sambil menurunkan biaya pengembangan.
5. Android dioptimalkan untuk perangkat daya rendah dan rendah memori, yang pada platform sebelumnya tidak terpikirkan.
6. Mendukung grafis dan suara berkualitas tinggi, lebih halus.
Grafik 2D dan vektor grafis serta animasi yang terinspirasi oleh flash yang menyatu dengan 3D dan dipercepat oleh grafis OpenGL untuk memungkinkan jenis baru dalam permainan dan aplikasi bisnis.
7. Memiliki portabilitas diberbagai perangkat keras saat ini dan masa depan. Serta memiliki dukungan untuk berbagai macam input termasuk metode keyboard, layar sentuh, dan trackball.
8. Program yang terisolasi dapat memberikan tingkat stabilitas sistem yang tidak terlihat sebelumnya pada ponsel pintar.
9. Android menawarkan berbagai cara untuk berinteraksi dengan mobile application bersama dengan dasar – dasar teknis untuk membuatnya.
10. Semakin berkembangnya membuat Android terlihat mudah, anda tidak membutuhkan akses ke ponsel Android saja, tapi cukup dengan komputer dimana anda dapat menginstall SDK Android dan emulator.
Android Software Development Kit (SDK) bekerja pada Windows, Linux, dan Mac OS X. Aplikasi yang anda buat dapat digunakan pada setiap perangkat Android, sebelum anda memulai membuat program anda perlu menginstall JAVA, IDE, dan SDK Android. Selain kelebihan – kelebihan tersebut ada beberapa kekurangan Tablet Android, diantaranya :
1. Handset Android dibuat oleh banyak vendor dengan ukuran layar yang berbeda, sebagian menggunakan keyboard fisik, sebagian lagi hanya menggunakan touch screen. Versi Android yang terpasang di handset juga berbeda berbeda, hal ini menyebabkan pengalaman memakai android tidak seragam, hal ini juga sekaligus menyulitkan Programmer dalam membuat program.
Karena apabila versi OS tidak sama, program itu tidak bisa diinstal.
2. Android adalah produk open source dari Google dan Open Handset Aliance, itulah mengapa aplikasi yang ada di Android sangat menyatu dengan layanan Google, sebut saja Email menggunakan GMail, kalendar menggunakan Google Calendar, bahkan sampai Contact pun disimpan di Gmail Contact. Bagi penggemar Google ini merupakan keunggulan sendiri, namun bagi pengguna yang tidak familiar dengan produk Google (Misal orang yang baru pindah dari WindowsMobile atau Symbian) hal ini cukup merepotkan karena mereka harus menyesuaikan kebiasaannya.
3. Android cukup aktif dikembangkan, hampir tiap tahun mereka merilis sistem operasi baru, pada tahun 2010 Google merilis froyo (2.2), Gingerbread (2.3) dan Honeycomb (3.0), tahun 2011 ini sudah merilis Ice cream sandwich (4.0). Namun dari sisi vendor atau operator, update ke user membutuhkan waktu berbulan bulan, sebagai contoh, froyo dirilis pada bulan mei 2010, namun pengguna android kebanyakan baru meng-update setelah bulan september.
2.5. Human Interface / Interaction
Menurut shneiderman dan plaisant (2010.p 88) Delapan aturan emas tersebut adalah:
• Usahakan agar konsistensi(Strive for Consistent)
Urutan aksi yang konsisten diperlukan pada prompt, menu, layar bantu, Warna tampilan, kapitalisasi, huruf dan sebagainya juga harus konsisten
• Gunakan fitur universal (Cater to Universal Usability)
Mengenali dan mengkategorikan kebutuhan pengguna yang beragam, Memfasilitasi transformasi konten. Menambahkan fitur untuk pemula seperti penjelasan dan untuk pemakai yang sudah ahli seperti
shortcut dan faster pacing sehingga bisa diperkaya design interface dan meningkatkan kualitas sistem.
• Tanggapan yang informatif (Offer Informative Feedback)
Unruk setiap tindakan yang dilakukan pemakai, diharapkan adanya respon dari sistem. Untuk tindakan yang sering terjadi dan tidak membutuhkan banyak aksi, respon yang ada bisa di buat secara sederhana, sedangkan tindakan yang jarang dilakukan dan membutuhkan banyak aksi harus lebih di tonjolkan.
• Design hasil dialog untuk penutup (Design Dialogs to Yeild Closure) Urutan aksi harus disusun ke dalam kelompok awal, tengah dan akhir suatu umpan balik yang informatif pada akhir pekerjaan sebaiknya dibuat untuk mengindikasikan bahwa pekerjaan telah selesai dan siap untuk dilanjutkan ke aksi berikutnya.
• Mencegah Kesalahan (Prevent Error)
Sebisa mungkin dibuat sistem yang tidak akan menghasilkan kesalahan yang serius jika digunakan oleh pemakai. Jika pemakai membuat kesalahan, sistem tersebut harus dapat mendeteksi kesalahan dan menawarkan instruksi yang sederhana, konstruktif, dan spesifik untuk perbaikan.
• Aksi mudah untuk balik ke keadaan awal (Permit Easy Reversal of Action)
Aksi yang telah dilakukan harus dapat dikembalikan ke keadaan awal.
• Dukungan kontrol internal (Support Internal Locus of Control)
Menjadikan pemakai sebagai pemberi aksi, bukan sebagai orang yang merespon aksi.
• Mengurangi beban jangka pendek memori (Reduce Shortterm Memory Load)
Karena keterbatasan manusia dalam pemrosesan informasi pada ingantan jangka pendek, sebaiknya tampilan dibuat sederhana, beberapa
halaman dijadikan satu, frekuensi pergerakan window dikurangi, dan harus ada waktu yang cukup untuk mempelajari kode-kode, singkatan, serta urutan aksi. Informasi seperti singkatan atau kode sebaiknya juga tersedia.
2.6. Yang Berkaitan dengan Objek Aplikasi 2.6.1. Java
Salah satu keuntungan dari pengembangan berorientasi objek dengan tidak berorientasi objek, karena pengetahuan didistribusikan diantara objek-objek, setiap proses memiliki data yang dibutuhkan untuk melakukan tugas mereka. Akan lebih mudah untuk mengontrol unit dalam skala kecil dan untuk mengerti bagaimana setiap unit mempengaruhi unit yang lainnya. Jika setiap prosedur berinteraksi dengan bagian dari keseluruhan data. Pengaruh dari satu prosedur terhadap keseluruhannya dan akan susah mengerti sistem secara keseluruhan. Akan tetapi sifat distribusi dari pemrograman berorientasi objek meningkatkan kemampuan untuk membaca kode. (Skrien. 2009.
p 11).
2.6.2. J2ME
J2ME bukan merupakan bagian spesifik dari perangkat lunak atau spesifikasi. Melainkan bagian dari java untuk perangkat yang kecil.
Skala perangkat yang digunakan dari pagers, telepon genggam, PDAs.
(Knudsen. 2005. p 1).
2.6.3. MySQL
Menurut Maslakowski (2000, p. 10) MySQL merupakan sebuah relasi manajemen database yang opensource, enterprse-level dan multithread.
Gambar 2.9 Contoh gambar table pada MySQL (sumber : http://ngutekkomputer.files.wordpress.com/2013/06/join-mysql.jpg)
MySQL dikembangkan oleh sebuah perusahaan kosultan di Swedia yang bernama Tcx. Mereka mebutuhkan sebuah sistem database yang cepat dan fleksibel sehingga mereka menciptakan MySQL yang pada dasarnya berbeda dengan DBMS (database management system) yang bernama MySQL. MySQL lebih dari sebuah database biasa yang merupakan sistem yang mengatur database yang ada. MySQL mengontrol siapa saja yang dapat menggunakan database dan bagaimana dimanipulasi. MySQL juga menyimpan catatan dari semua kegiatan dan secara terus menerus bekerja di background.
2.6.4. PHP
Pengertian PHP menurut (Suryatiningsih, 2009, p. 141), "PHP adalah sebuah scripting yang menyatu dengan HTML dan dijalankan pada serverlide. Artinya semua Syntax yang diberikan akan sepenuhnya dijalankan pada server sedangkan yang dikirim ke browser hanya hasilnya saja.