1 BAB 2 LANDASAN TEORI 2.1 Teori-teori dasar/umum Pada bagian ini dikemukakan teori-teori dasar yang dibutuhkan dalam suatu penelitian terutama dalam ...
Teori-teori dasar/umum Pada bagian ini dikemukakan teori-teori dasar yang dibutuhkan dalam suatu
penelitian terutama dalam pengembangan suatu aplikasi. Teori umum ini menjadi landasan utama yang menjadi dasar dalam penelitian IT. 2.1.1
Internet Internet adalah jaringan mendunia yang sangat besar yang menghubungkan jutaan bahkan milyaran komputer di seluruh dunia. Lebih dari 100 negara terhubung ke dalam apa yang disebut sebagai komunitas internet global. Pertukaran data, berita, baik dalam bentuk file text, audio, dan video terjadi di dalam internet. Tidak seperti layanan online, yang dikontrol dari pusat, internet memiliki desain yang berbeda-beda kepada setiap pemakainya. Setiap komputer dalam internet, yang disebut juga dengan host, saling berdiri sendiri. Masing-masing operator dapat memilih layanan internet apa yang digunakan, serta local service apa yang digunakan untuk terhubung ke dalam komunitas internet global. Ada berbagai cara untuk mengakses internet, beberapa negara maju seperti Amerika Serikat contohnya, memberikan layanan online negara untuk mengakses layanan internet, sedangkan beberapa dapat juga menggunakan penyedia layanan internet komersil.
WWW (World Wide Web) World Wide Web atau yang disingkat WWW, adalah sistem yang menyediakan suatu ruang informasi yang dipakai global untuk mengidentifikasi serta melakukan kegiatan transfer segala jenis sumber daya dan dokumen. Pada awalnya World Wide Web merupakan subuah program yang ditemukan oleh Tim Berners-Lee pada tahun 1991. Awalnya Berners-Lee hanya ingin menemukan cara untuk menyusun arsip-arsip risetnya. Untuk itu, dia mengembangkan suatu sistem untuk keperluan pribadi. Sistem itu adalah program peranti lunak yang diberi nama Equire. Dengan program itu, Berners-Lee berhasil menciptakan jaringan terkait antara berbagai arsip sehingga memudahkan informasi yang dibutuhkan, inilah yang kemudian menjadi dasar dari sebuah revolusi yang dikenal sebagai web. WWW dikembangkan pertama kali di Pusat Penelitian Fisika Partikel Eropa (CERN), Jenewa, Swiss. Pada tahun 1989 Berners-lee membuat proposal untuk proyek pembuatan hypertext secara global, kemudian pada bulan Oktober 1990, ‘World Wide Web‘ sudah bisa dijalankan dalam lingkungan CERN. Pada musim panas tahun 1991, WWW resmi digunakan secara luas pada jaringan Internet.
(http://www.iicm.tugraz.at/0x811bc82b_0x00032cef)
10
2.1.2.1
URL (Uniform Resource Locator) URL (Uniform Resource Locator dahulu disebut Universal Resource Locator) merupakan standart alamat dan protokol yang digunakan untuk mengambil sumber daya dan dokumen yang ada di jaringan internet. URL juga dapat mengandung tambahan informasi seperti query. Contohnya : http://www.google.co.id/search?sourceid=chrome&ie=UTF-8&q=URL Selain itu URL juga dapat mengandung informasi tambahan, untuk keperluan internal, biasanya dipisahkan oleh tanda penghubung titikkoma (;) , contohnya : http://www.iicm.edu/;internal&action=options.action (http://www.iicm.tugraz.at/0x811bc82b_0x000031db)
2.1.2.2 HTML (Hypertext Markup Language) HTML adalah bahasa sederhana yang digunakan dalam proses pertukaran sumber daya dan dokumen dalam World Wide Web. Tujuan utaman dari HTML adalah memisahkan antara isi dengan format dari sebuah dokumen. Sebuah halaman web ditampilkan berbeda beda sesuai
dengan
hardware
dan
software komputer
klien
yang
membukanya. Yang di tulis dalam HTML dokumen merupakan format logika
dari
sebuah
dokumen,
sedangkan
bagaimana
tampilan
selanjutnya dapat dibentuk sendiri oleh user yang membuka halaman web.
HTML
pada
dasarnya
merupakan
teks
dokumen
yang
menggunakan serangkaian tag untuk mendefinisikan format dokumen
11
yang dimaksud. Formula dari tag yang digunakan biasanya berupa start-tag (contoh: ) dan end-tag (contoh: ) (http://www.iicm.tugraz.at/0x811bc82b_0x000031e1)
2.1.2.3 CSS (Cascading Style Sheets) Cascading Style Sheets atau yang disebut juga CSS adalah sebuah mekanisme penambahan gaya (contohnya: jenis huruf, warna, jarak, bentuk ikon, garis) pada suatu dokumen web. (http://www.w3.org/Style/CSS) Menurut Olsson dan O’Brien (2008:2) CSS adalah metode yang di rekomendasikan untuk mengontrol presentation layer pada sebuah dokumen web. Keuntungan terbesar dalam CSS di penggunaannya adalah gaya yang di representasikan dapat dipisahkan seutuhnya dari konten dokumen. Dalam artinya, sebuah CSS dapat mengontrol gaya penulisan untuk 10.000 halaman web. Hal ini sangat membantu pengembang web memotong waktu dalam pembuatan sebuah web.
2.1.3
Mobile Application Mobile Application merupakan sebuah aplikasi software yang menggunakan internet yang berjalan pada perangkat mobile, seperti halnya pada smartphone. Aplikasi mobile biasanya membantu pengguna dalam mengakses jaringan internet dalam penggunaannya pada perangkat portabel, baik dalam pengunduhan maupun pengunggahan. (http://mmaglobal.com/mobileapplications.pdf)
12
2.1.4
Software Engineering Sesuai dengan pernyataan Roger S.Pressman (2010:13);
“Software engineering : (1) The Application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is , the application of engineering to software. (2) The study of approaches as in (1).” Software Engineering : (1) Penerapan pendekatan yang sistematis, disiplin, dapat diukur untuk pengembangan, operasi, dan pemeliharaan dari software, yaitu, penerapan Software Engineering. (2) Studi pendekatan seperti pada (1). Namun pendekatan sistematis, disiplin dan terukur yang diterapkan oleh satu tim perangkat
lunak
mungkin
dapat memberatkan.
Jadi
selain kita
perlu disiplin, kita juga perlu dapat beradaptasi serta lincah. Software engineering tidak hanya mencakup aspek teknis dalam pembuatan atau pengembangan sebuah perangkat lunak, namun juga membahas aspek manajemen, seperti mengarahkan tim pemrograman, penjadwalan, dan penganggaran.
2.1.5
System Development Life Cycle System Development Life Cycle pada dasarnya adalah proses
keseluruhan dari pengembangan, implementasi, dan pelepasan sistem informasi
melalui
proses
bertingkat
dari
inisiasi,
analisis,
desain,
implementasi, dan pemeliharaan untuk pembuangan dari bagian sistem yang perlu diubah. Dalam SDLC terdapat berbagai model dan metodologi, tetapi masing-masing umumnya terdiri dari serangkaian langkah yang ditetapkan
13
setiap fase. Untuk setiap model SDLC yang digunakan, keamanan informasi harus diintegrasikan ke dalam SDLC untuk memastikan perlindungan yang tepat bagi informasi data, karena sistem akan berinteraksi untuk mengirimkan, memproses, dan menyimpan data.
Gambar 2.1 System Development Life Cycle Sumber : http://csrc.nist.gov/publications/nistbul/april2009_systemdevelopment-life-cycle.pdf Tahap Inisiasi. Selama fase inisiasi, organisasi menetapkan sistem yang akan dibentuk dan dokumen yang dibutuhkan. Perencanaan keamanan dimulai di dalam fase inisiasi dengan mengidentifikasi peran kunci keamanan untuk dilakukan di pengembangan sistem lebih lanjut. Informasi yang akan diproses, dikirim, atau disimpan harus dievaluasi untuk persyaratan keamanan, dan stakeholder harus memiliki pemahaman umum tentang pertimbangan keamanan akan sistem yang dibuat.
14
Tahap Pembangunan / Akuisisi. Selama fase ini, sistem tersebut dirancang, diprogram, dikembangkan, atau dibangun. Kegiatan utama mengenai keamanan sistem pada tahap ini adalah melakukan penilaian risiko dan menggunakan hasilnya untuk melengkapi dasar keamanan kontrol. Selain itu, organisasi harus menganalisis keamanan persyaratan melakukan pengujian fungsional dan keamanan, menyiapkan dokumen awal untuk sistem sertifikasi dan akreditasi, dan desain arsitektur keamanan. Tahap
Pelaksanaan.
Pada
tahap
implementasi,
organisasi
mengkonfigurasi dan memungkinkan fitur sistem, memberikan serangkaian tes fungsi, developer memasang fitur atau mengimplementasikan sistem, dan mendapatkan izin formal untuk mengoperasikan sistem. Desain dan tes sistem harus dilakukan pengujian sebelum menempatkan sistem ke dalam operasi untuk memastikan bahwa memenuhi semua spesifikasi yang dibutuhkan. Tahap Operasi/Pemeliharaan. Pada tahap ini, sistem dan produk sudah di tempatkan dan beroperasi, penambahan maupun modifikasi sistem terus dikembangkan dan diuji, perangkat keras dan komponen perangkat lunak ditinjau, apakah ada yang ditambahkan atau diganti. Dalam fase ini kinerja sistem terus dipantau untuk memastikan bahwa sistem yang berjalan adalah konsisten dengan yang sebelumnya ditetapkan pengguna dan persyaratan keamanan. Tahap Pembuangan. Pada fase ini, dikembangkan kegiatan untuk membuang sistem informasi, perangkat keras, dan perangkat lunak terdahulu menjadi sistem baru ataupun membuat transisi ke sistem baru. Tahap ini akan menyebabkan informasi, perangkat keras, dan perangkat lunak terdahulu, dipindahkan ke sistem lain, diarsipkan untuk penggunaan lebih lanjut, dibuang
15
karena perbedaan atau karena
konversi tidak memungkinkan, ataupun
dihancurkan karena tidak memberikan perubahan yang diinginkan.
Object Oriented Analysis and Design Menurut Mathiassen, et al (2000:35), definisi dari Object-Oriented Analysis and Design adalah suatu metode yang digunakan untuk menganalisis dan merancang suatu sistem dengan menggunakan pendekatan berorientasi objek. Object Oriented Analysis Design (OOAD) merupakan teknologi desain yang baru yang berbasiskan object dan classes, cara berfikir untuk mengorganisasi
software
sebagai
kumpulan
object
yang
saling
berhubungan baik data struktur dan perilaku system. OOAD juga dapat diartikan sebagai abstraksi dari dunia nyata yang berbasis object dan interaksinya dengan object yang lainnya. Pada esensinya Object Oriented Analysis Design, selalu berhubungan dengan object dan class. Menurut Mathiassen, et al (2000:4), object memiliki arti sebagai suatu entitas yang memiliki identitas, status dan perilaku. Object dianggap sebagai suatu entitas yang memiliki identitas, status dan perilaku dan dapat melakukan suatu operasi. Dengan menggunakan objek maka sistem dapat mengatur apa saja yang dapat dilakukan terhadap entitas tersebut. Object adalah sesuatu hal atau konsep, dapat berupa hal yang nyata, berupa konsep, atau sebuah abstrasi dari
16
konsep yang diinterpretasikan didalam software. Sebuah object memiliki state (attributes) and behavior (method). Setiap object memiliki karakteristik masing-masing yang dapat dibedakan dengan object lainnya. Sedangkan classes menurut Mathiassen, et al (2000:4) adalah sekumpulan object yang memiliki kesamaan stucture, behavior, dan attributes. Classes juga menangani pembuatan dan penghancuran sebuah object. Menurut Mathiassen, et al (2000:14), OOAD dalam intinya memiliki empat kegiatan utama, yaitu : problem-domain analysis, applicationdomain analysis, component design, dan architectural design.
Gambar 2.2 Kegiatan utama Object Oriented Analysis and Design Sumber : Mathiassen, et al ( 2000:46 )
17
2.1.6.1
Problem-domain Analysis Problem domain merupakan bagian dari konteks yang diatur, diawasi dan dikendalikan oleh sistem. Dengan kata lain analisis problem domain berkaitan dengan mengekspresikan kebutuhan yang harus dipenuhi oleh sistem. Tujuan dari kegiatan ini adalah untuk mengidentifikasi dan memodelkan problem domain sehingga didapatkan informasi apa saja yang dibutuhkan oleh sistem.
2.1.6.2
Application-domain Analysis Application
domain
merupakan
organisasi
yang
mengatur, mengawasi, atau mengendalikan problem domain. Tujuan dari kegiatan ini adalah untuk menentukan kebutuhan penggunaan sistem. Kegiatan ini berfokus pada fungsi dan interface dari sistem dan bagaimana suatu sistem akan digunakan oleh user. 2.1.6.3
Architectural Design Architecture design adalah tahap penyusunan sistem yang terkomputerisasi. Kegiatan ini merupakan kerangka kerja dalam aktivitas pengembangan sistem. Hasil dari aktivitas ini adalah struktur komponen dan proses sistem. Tujuan dari kegiatan ini adalah mengatur ulang struktur sebuah sistem yang terkomputerisasi.
2.1.6.4
Component Design Component adalah sekumpulan bagian program yang membentuk suatu keseluruhan dan memiliki tanggung jawab
18
yang jelas Mathiassen, et al ( 2000:232 ). Tujuan dari kegiatan ini adalah untuk menentukan implementasi dari kebutuhan dalam sebuah kerangka arsitektur.
2.1.7
UML (Unified Modeling Language) Sesuai dengan pernyataan Whitten dan Bentley (2007:371);
“Unified Modeling Language, a set of modeling conventions that is used to specifiy or decribe a software system in terms of objects” Unified Modeling Language merupakan sebuah pembuatan bagan multi-bahasa dan multi-guna, untuk menjelaskan dan menggambarkan apa yang dilakukan oleh sebuah software yang kompleks dalam sistem berbentuk objek. Disamping membantu menggambarkan sebuah software, UML juga memuat berbagai notasi, dimana notasi-notasi tersebut merupakan model dari sistem software yang dibangun. 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. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C. 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
19
makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. UML sendiri dapat dikelompokkan menjadi beragam perspektif diagram yang berbeda untuk memodelkan suatu sistem, diantaranya:
2.1.7.1 Use Case Diagram Use case diagram merupakan jenis UML yang sering dibentuk pertama kali ketika membuat model dari aplikasi yang sedang dikembangkan. Use case menjelaskan bagaimana sistem akan digunakan, dan mengkategorikan external agents sesuai dengan interaksi yang dimilikinya dengan sistem. Pada model use case notasinya berfokus kepada user dan tugas-tugas user untuk memenuhi keinginan user. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, membuat sebuah daftar jadwal, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaanpekerjaan tertentu.
20
Gambar 2.3 Contoh Use Case Diagram Sumber: http://www.agilemodeling.com/artifacts/useCaseDiagram.htm
2.1.7.2 Class Diagram Class Diagram mungkin merupakan diagram paling penting dari berbagai diagram UML. Diagram ini dapat digunakan menjelaskan class, dan struktur statik dari sebuah sistem, melihat semua abstraksi level dari spesifikasi hingga implementasi. Class pada class diagram adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (method/fungsi). Class memiliki tiga area pokok : 1.
Nama
2.
Attribute
3.
Method/Operation
21
Attribute dan method dapat memiliki salah satu sifat berikut : •
Private, tidak dapat diakses dari luar class yang bersangkutan dan hanya dapat akses class itu sendiri.
•
Protected, hanya dapat diakses oleh class yang bersangkutan dan anak-anak yang mewarisinya.
•
Public, dapat diakses oleh siapa saja.
Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki method. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi method pada saat run-time. Hubungan antar Class : 1.
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.
2.
Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
3.
Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua attribute dan method class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
4.
Hubungan dinamis, yaitu rangkaian pesan (message) yang dipassing dari satu class kepada class lain.
22
Gambar 2.4 Contoh Class Diagram Sumber : http://edn.embarcadero.com/article/31863 2.1.7.3 Activity Diagram Activity Diagram menjelaskan gambaran behavior sistem atas serangkaian tugas yang diberikan. Dari diagram ini dapat dipahami alur kerja dari objek/komponen yang dilakukan, activity diagram dapat digunakan untuk menvisualisasikan interelasi dan interaksi antara use case yang berbeda. Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi diawali oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity
23
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. Standar UML untuk activity diagram 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.
24
Gambar 2.5 Contoh Activity Diagram Sumber : http://www.ibm.com/developerworks/rational/library/2802.html 2.1.7.4 Sequence Diagram Sequence diagram merupakan diagram yang menjelaskan perjalanan kegiatan sistem, berdasarkan urutan waktu. Diagram sequence juga menunjukan urutan dari pertukaran pesan antar objek dan tugas yang dilakukan. Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri dari dimensi vertikal (waktu) dan dimensi horizontal (objekobjek yang terkait).
25
Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang mengawali aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/method dari class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message.
Gambar 2.6 Contoh Sequence Diagram Sumber: http://www.agiledata.org/essays/objectOrientation101.html
26
2.1.8
IMK (Interaksi Manusia dan Komputer)
Secara sederhana adalah studi tentang manusia, teknologi komputer dan cara bagaimana mereka saling berinteraksi. Elemen utama IMK yaitu manusia, komputer, interaksi, aktivitas dan lingkungan kerja. Menurut Shneiderman & Plaisant (2010:75), terdapat delapan aturan emas perancangan tampilan interface: •
Strive for consistency Konsisten urutan tindakan yang harus diminta dalam situasi yang sama seperti tampilan yang sama (template) harus digunakan pada prompt, menu, dan semua layar, serta perintah yang konsisten harus digunakan di seluruh tampilan.
•
Cater to universal usability Interface yang dibentuk harus dapat membuat baik user beginner maupun user yang sudah ahli tidak merasa terbebani. Untuk user pemula, bantuan pemakaian maupun aksi sangat dibutuhkan, sedangkan untuk user ahli, akan muncul keinginan user untuk mengurangi jumlah interaksi dan untuk meningkatkan kecepatan interaksi. Fungsi shortcut, perintah tersembunyi, dan fasilitas makro sangat membantu untuk user ahli.
•
Offer informative feedback Untuk setiap tindakan user, harus ada umpan balik dari sistem. Untuk tindakan yang sering dan minor, respon bisa sederhana, sedangkan untuk tindakan jarang dan utama, respon harus lebih besar.
27
•
Design dialogs to yield closure Urutan tindakan harus diatur ke dalam kelompok pada bagian awal, tengah, dan akhir. Umpan balik yang informatif atas penyelesaian suatu kelompok kegiatan pada user akan memberikan kepuasan prestasi, rasa lega, sinyal untuk menghentikan rencana kontingensi dan pilihan dari pikiran mereka, dan indikasi bahwa cara jelas untuk mempersiapkan tindakan berikutnya.
•
Prevent errors Sebaiknya, sistem di desain sehingga user tidak akan membuat kesalahan serius. Jika kesalahan dibuat, sistem harus dapat mendeteksi kesalahan dan secara sederhana menawarkan mekanisme komprehensif untuk menangani kesalahan.
•
Permit easy reversal of actions Sebaiknya suatu aksi yang dilakukan oleh user dapat dikembalikan. Fitur ini mengurangi kecemasaan, karena user tahu ahwa kesalahan yang telah dilakukan dapat dibatalkan, sehingga hal tersebut lebih memberanikan user untuk mengeksplorasi hal-hal asing dalam tampilan.
•
Support interal locus of control User yang berpengalaman berkeinginan kuat untuk merasakan tanggung jawab terhadap sistem dan sistem dapat memberikan respon balik. Sistem didesain untuk membuat user sebagai pemicu aksi daripada sebagai penerima aksi.
•
Reduce short-term memory load Dengan keterbatasan manusia dalam memproses informasi memori jangka pendek, menyebabkan perlunya untuk mempertahankan desain yang sederhana, menampilkan beberapa halaman yang saling berhubungan,
28
frekuensi tampilan yang bergerak dikurangi, dan adanya penjelasan yang memadai mengenai code, mnemonic dan urutan tindakan yang dilakukan user.
2.1.9
Database Sesuai dengan Hoffer, et al (2009:46) pengertian mengenai database
adalah sebagai berikut; “Database. An organized collection of logically related data" Database adalah sekumpulan koleksi data yang berelasi secara logika. Pada intinya, database adalah sekumpulan data yang saling berhubungan yang disimpan untuk memenuhi kebutuhan informasi para pengguna database tersebut.
2.1.9.1 Database Management System Database Management System menurut kutipan dari Hoffer, et al (2009:49); "Database Management System (DBMS) is a software that is used to create, maintain, and provide controlled access to user databases" Database Management System (DBMS) adalah sebuah sistem software yang memungkinkan pengguna untuk membuat, mengelola, dan mengontrol akses ke database pengguna. Database Management system (DBMS) menyediakan metode yang sistematik untuk membuat, memperbaharui, menyimpan, dan mengambil data dari database.
29
2.1.10 ERD (Entity Relationship Diagram) Menurut Hoffer, et al (2009:137) pengertian Entity Relationship Diagram atau ERD adalah; “A grapical representation of a logical representation of the data for an organization or for a bussiness area using entities for categories of data and relationships for associations between entities” ERD merupakan sebuah representasi grafik dari representasi logis data untuk suatu organisasi atau area bisnis dengan menggunakan entitas untuk kategori data dan hubungan asosiasi diantara entitas. 2.1.10.1 Entity Menurut Hoffer, et al (2009:137) pengertian mengenai entity adalah; “An entity is a person, place, object, event, or concept in the user environtment abaout which the organization wishes to maintain data” Entity merupakan orang, tempat, objek, kejadian, ataupun konsep mengenai lingkungan user yang diharapkan oleh organisasi untuk dipakai datanya. Pada intinya entitas dapat dikatakan sebagai segala sesuatu yang dapat digambarkan oleh data. Entitas juga dapat diartikan sebagai individu yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. 2.1.10.2 Attribute Sesuai dengan penjabaran Hoffer, et al (2009:137) mengenai attibute, yaitu;
30
“An attribute is a property or characteristic of an entity type that is of interest to the organization” Attribute adalah sebuah karakteristik dari sebuah entitas yang dibentuk untuk kepentingan organisasi yang dimaksud. Dalam ERD, Atribut merupakan pendeskripsian karakteristik dari entitas. 2.1.10.3 Relationship Sesuai dengan kutipan Hoffer, et al (2009:137) mengenai relationship; “A meaningfull association between (or among) entity” Relationship merupakan hubungan yang memiliki makna antara atau diantara entity.
2.1.11 Spiral Process Model Menurut Pressman (2010:45) Spiral Process Model merupakan model proses perangkat lunak
yang merangkai sekumpulan perulangan prototipe
dengan cara kontol secara sistematik dari model sekuensial linier, sehingga memberikan pengembangan perangkat lunak yang lebih cepat dan mendetail. Di dalam model spiral, perangkat lunak dikembangkan di dalam suatu deretan iterasi. Pada iterasi awal, hasil perangkat lunak dapat berupa sebuah model ataupun prototipe dari perangkat lunak yang dituju. Sejalan dengan iterasi selanjutnya, sedikit demi sedikit dihasilkan perangkat lunak dengan versi yang lebih lengkap dan mendetail.
31
Gambar 2.7 Spiral Process Model Sumber : Pressman (2010:46) A Typical Spiral Model
Kegiatan tiap fase pada Spiral Model Process adalah sebagai berikut : •
Communication Pada fase ini, kegiatan berpusat pada membangun komunikasi yang baik dengan pengguna/customer. Mengidentifikasi masalah awal, dan membuat sketsa/ draft perangkat lunak yg diinginkan.
•
Planning Mendefinisikan sumber, batas waktu pengerjaan dan pengembangan, informasi-informasi lain seputar pembuatan perangkat lunak termasuk jadwal deadline, mengidentifikasi resiko manajemen dan teknis.
•
Modeling Membangun representasi dari perangkat lunak yang ingin dibuat. Baik dalam pembentukan diagram, maupun rancangan layar.
32
•
Construction Pembangunan perangkat lunak, baik dengan menggunakan bahasa pemrograman, pembuatan prototipe, dan pengetesan hasil program yang telah dibangun.
•
Deployment Pelepasan perangkat lunak kepada client, baik berupa pemasangan dan bantuan penggunaan, untuk mendapatkan umpan baik berdasarkan evaluasi pemakaian perangkat lunak.
2.1.12 Komponen Sistem Operasi Pada dasarnya sistem operasi memiliki komponen yang berbeda beda, tergantung kebutuhan akan sistem yang digunakan. Namun pada umumnya terdapat lima komponen umum yang biasa dimiliki oleh sebuah sistem operasi, diantaranya adalah, manajemen proses, manajemen memori utama, manajemen file, manajemen Input Output, dan manajemen penyimpanan sekunder. 1.
Manajemen Proses Proses adalah program yang sedang dieksekusi. Sebuah proses memerlukan sumber daya (resource) tertentu seperti waktu CPU, memori, file dan perangkat I/O untuk menyelesaikan tugasnya. Untuk mengatur proses yang ada, sistem operasi bertanggung jawab pada aktifitas-aktifitas yang berbuhuban dengan manajemen proses berikut: •
Pembuatan dan penghapusan proses yang dibuat oleh user atau sistem.
•
Menghentikan proses sementara dan melanjutkan proses.
33
•
Menyediakan kelengkapan mekanisme untuk sinkronisasi proses dan komunikasi proses.
2.
Manajemen Memori Utama Memori utama merupakan sebuah array besar berukuran word atau bytem dimana setiap array tersebut mempunyai alamat tertentu. Memori adalah penyimpan yang dapat mengakses data dengan cepat yang digunakan oleh CPU dan perangkat I/O. Memori adalah perangkat penyimpanan yang volatile, dimana isi memori akan hilang apabila terjadi kegagalan pada sistem. Untuk mengatur memori, sistem operasi bertanggung jawab pada aktifitas-aktifitas manajemen memori sebagai berikut : •
Menjaga dan memelihara bagian-bagian memori yang sedang digunakan dan dari yang menggunakan bagian tersebut.
•
Memutuskan proses-proses mana saja yang harus dipanggil ke memori jika tersedia ruang di memori.
•
Mengalokasikan dan mendealokasikan ruang memori jika diperlukan.
3.
Manajemen File File merupakan kumpulan informasi yang saling berhubungan yang sudah didefinisikan oleh pembuatnya (user). Biasanya, file berupa program (baik berupa source maupun object) dan data. Untuk mengatur file, sistem operatsi bertanggung jawab pada aktifitas-aktifitas yang berhubungan dengan manajemen file sebagai berikut :
34
4.
•
Pembuatan dan penghapusan file dan direktori.
•
Protokol yang mendukung manipulasi file dan direktori.
•
Pemetaan file ke memori sekunder.
•
Backup file ke media penyimpanan yang stabil (nonvolatile)
Manajemen Input Output Sering disebut sebagai device manager, karena menyeduakan manajemen alat-alat umum sehingga operasi Input Output dapat seragam (membuka, membaca, menulis, menutup). Sistem operasi bertanggungjawab pada aktifitas-aktifitas manajemen Input Output sebagai berikut : •
Sistem buffer-caching, menampung sementara data dari atau ke perangkat I/O.
•
Antarmuka device-driver secara umum dan khusus, menjelaskan operasi rinci untuk hardware I/O.
•
Sistem Spooling, melakukan penjadwalan pemakaian I/O sistem agar lebih efisien dan tidak terjadi deadlock.
5.
Manajemen Sistem Jaringan (Sistem Terdistribusi) Manajemen sistem jaringan adalah sekumpulan sistem yang mengatur kumpulan prosessor yang tidak menggunakan memori atau clock bersama-sama. Setiap prosessor mempunyai lokal memori sendiri. Prosessor-prosessor pada sistem dihubungkan melalui jaringan komunikasi yang dihubungkan melalui protokol. Sistem terdistribusi memungkinkan user untuk mengakses sumber daya (resource) yang beragam Dengan mengakses sumber
35
daya yang dapat digunakan bersama-sama tersebut akan memberikan keuntungan dalam : •
Computation speed-up, meningkatkan kecepatan komputasi.
•
Increased data availability, meningkatkan ketersediaan data.
•
Enhanced reliability, meningkatkan kehandalan sistem.
Teori-teori Khusus Teori-teori khusus adalah teori-teori yang secara spesifik dibutuhkan dalam
penelitian ini. Teori-teori khusus ini merupakan landasan dari fokus penelitian.
2.2.1. Android Android adalah software stack untuk perangkat mobile yang mencakup aplikasi sistem operasi, middleware dan kunci. Android SDK menyediakan
alat
dan
API
yang
diperlukan
untuk
memulai
mengembangkan aplikasi pada platform android yang menggunakan bahasa pemrograman java. Android sendiri dapat dijabarkan sebagai sistem operasi untuk telepon seluler yang berbasis kernel Linux. Android menyediakan platform terbuka bagi para pengembang buat menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak.
36
Gambar 2.7 Arsitektur Android Sumber : http://developer.android.com/guide/basics/what-is-android.html
2.2.1.1.
Application Android akan berjalan dengan satu set aplikasi inti termasuk
email client, program SMS, kalender, peta, browser, kontak, dan lain-lain. Semua aplikasi yang ditulis menggunakan bahasa pemrograman Java. 2.2.1.2.
Application Framework Dengan menyediakan sebuah platform pengembangan terbuka,
Android menawarkan kemampuan pengembang untuk membangun aplikasi yang sangat kaya dan inovatif. Pengembang bebas untuk mengambil keuntungan dari perangkat keras informasi, akses
37
lokasi, menjalankan layanan latar belakang, menetapkan alarm, menambahkan pemberitahuan ke status bar, dll. Pengembang memiliki akses penuh ke API framework yang sama, yang digunakan oleh aplikasi inti. Arsitektur aplikasi ini dirancang
untuk
menyederhanakan
penggunaan
kembali
komponen, aplikasi apapun dapat mempublikasikan kemampuan dan aplikasi lainnya kemudian dapat menggunakan kemampuan mereka (tunduk pada batasan keamanan diberlakukan oleh framework). Mekanisme yang sama memungkinkan komponen untuk diganti oleh pengguna. Semua aplikasi yang terbentuk, merupakan kesatuan dari sebuah set service dan sistem, termasuk: •
Sebuah set yang kaya dan dapat digunakan lanjut dari view yang dapat digunakan untuk membangun sebuah aplikasi, termasuk daftar, grid, kotak teks, tombol, dan bahkan web browser embeddable.
•
Content Provider yang memungkinkan aplikasi untuk mengakses data dari aplikasi lain (seperti Kontak), atau untuk berbagi data mereka sendiri.
•
Sebuah Resource Manager , menyediakan akses ke kode sumber non-seperti string lokal, grafis, dan file lokasi.
•
Sebuah Notification Manager yang memungkinkan semua aplikasi untuk menampilkan peringatan custom di status bar.
38
•
Sebuah Activity Manager yang mengelola siklus hidup aplikasi dan menyediakan navigasi umum stack.
2.2.1.3.
Library Android mencakup satu set C / C++ perpustakaan yang
digunakan oleh berbagai komponen dari sistem Android. Kemampuan ini terkena pengembang melalui kerangka aplikasi Android. Beberapa perpustakaan inti diantaranya sebagai berikut:
•
System C Library - implementasi BSD yang berasal dari sistem perpustakaan standar C (libc), disetel khusus untuk tertanam di dalam perangkat berbasis Linux.
•
Media Libraries - berdasarkan OpenCORE PacketVideo itu; dukungan perpustakaan pemutaran dan perekaman audio populer dan format video, serta file gambar statis, termasuk MPEG4, H.264, MP3, AAC, AMR, JPG, dan PNG.
•
Surface Manager - mengelola akses ke subsistem layar dan mulus komposit 2D dan grafis 3D dari lapisan beberapa aplikasi.
•
LibWebCore - mesin browser web yang modern yang kekuatan kedua browser Android dan sebuah tampilan web embeddable.
•
SGL - library yang mendasari mesin grafis 2D.
39
•
3D Libraries- implementasi berdasarkan OpenGL ES 1.0 API, perpustakaan menggunakan salah akselerasi 3D hardware
(jika
tersedia)
atau
rasterizer,
termasuk
perangkat lunak yang sangat dioptimalkan 3D. •
FreeType - bitmap dan vektor render font.
•
SQLite - sebuah mesin database relasional yang kuat dan ringan dan tersedia untuk semua aplikasi.
2.2.1.4.
Android Runtime Android mencakup satu set core library yang menyediakan
sebagian besar fungsi yang tersedia di core library dari bahasa pemrograman Java. Setiap aplikasi Android berjalan dalam prosesnya sendiri, dengan prosesnya sendiri dari Dalvik virtual machine. Dalvik telah disempurnakan sehingga sebuah perangkat dapat menjalankan banyak VMs secara efisien. The Dalvik VM mengeksekusi file dalam Dalvik executable (.dex) format yang dioptimalkan untuk meminimalisasi jejak memori. VM sendiri adalah basis register, yang berjalan di dalam kelas yang dikompilasi oleh compiler berbahasa Java yang telah diubah ke dalam format Dalvik executable (.dex).
The Dalvik VM bergantung pada kernel Linux untuk fungsi yang mendasar seperti manajemen memori threading dan manajemen memori tingkat rendah.
40
2.2.1.5.
Linux Kernel Linux Kernel Android bergantung pada Linux versi 2.6 untuk
layanan sistem inti seperti keamanan, manajemen memori, manajemen proses, stack jaringan, dan driver model. Kernel juga bertindak sebagai lapisan abstraksi antara hardware dan seluruh software stack. (http://developer.android.com/guide/basics/what-is-android.html) 2.2.2. JAVA Java merupakan suatu teknologi perangkat lunak yang di dalamnya mencakup bahasa pemrograman. Bahasa pemograman Java, pertama kali dipublikasikan olen Sun Microsystem sebagai bahasa yang mendukung program utilities, permainan, dan aplikasi bisnis. Hal tersebut dikarenakan Java merupakan suatu platform yang memiliki virtual machine dan library yang diperlukan untuk menulis dan menjalankan suatu program. Java sendiri merupakan bahasa pemrograman yang berbasis objek, maksudnya adalah semua aspek yang terdapat pada java adalah objek sehingga
sangat
memudahkan
untuk
mendesain,
membuat
dan
mengembangkan program java dengan cepat . Kelebihan ini juga membuat program java menjadi mudah untuk digunakan oleh banyak orang dan platform penjelajah web.
(http://java.com/en/download/whatis_java.jsp)
41
2.2.3. JavaScript JavaScript adalah bahasa pemrograman berbasis prototype yang berjalan disisi klien. jika kita berbicara dalam konteks web, sederhananya, kita dapat memahami JavaScript sebagai bahasa pemrograman yang berjalan di browser. JavaScript dipanggil untuk memberikan fungsi pada halaman web dengan meletakannya secara internal pada halaman html diantara tag <script> atau dibuat pada file terpisah ( eksternal ) dan lalu di link menggunakan pada bagian , seperti CSS. JavaScript adalah case sensitive, yang artinya JavaScript membedakan huruf besar dan huruf kecil, dengan arti lain penulisan perintah dalam JavaScript harus sesuai dengan aturan huruf besar kecil. Sebagai contoh, perintah var, tidak dapat ditulis dengan VAR. JavaScript bekerja pada sisi browser, artinya JavaScript baru berjalan setelah file html dari url yang dicari telah muncul ke layar. Efek dari JavaScript yang bekerja pada sisi browser ini, JavaScript dapat merespon perintah user dengan cepat, dan membuat halaman web menjadi lebih responsif. JavaScript melakukan apa yang tidak bisa dilakukan oleh HTML, PHP, dan CSS, yaitu, menangani hal – hal yang membutuhkan respons cepat terhadap aksi dari user.
2.2.4. JSON (JavaScript Object Notation) JSON merupakan singkatan dari JavaScript Object Notation, merupakan format untuk pertukaran data ringan seperti halnya XML. JSON membuat koding JavaScript lebih rapi. Selain itu kita dapat memanfaatkan JSON seperti halnya kita memanfaatkan XML yang artinya dapat dipassing ke berbagai section. Inti utama dari JSON adalah kemampuannya untuk melakukan scoping. JSON merupakan format teks yang benar-benar bahasa yang berdiri sendiri tetapi tetap menggunakan konvensi yang akrab bagi programmer dari keluarga bahasa C, termasuk C ++, C #, Java, JavaScript, Perl, Python, dan banyak lainnya. Properti ini membuat JSON menjadi bahasa pertukaran data yang ideal. (http://www.json.org)
2.2.5. PHP (Hypertext Preprocessor) PHP singkatan dari "PHP: Hypertext Preprocessor", merupakan sebuah bahasa scripting yang terpasang pada HTML. Sebagian besar sintaks mirip dengan bahasa C, Java dan Perl, ditambah beberapa fungsi PHP yang spesifik. Tujuan utama penggunaan bahasa ini adalah untuk memungkinkan perancang web menulis halaman web dinamik dengan cepat. Halaman web biasanya tersusun dari kode-kode html yang disimpan dalam sebuah file berekstensi .html. File html ini dikirimkan oleh server (atau file) ke browser, kemudian browser menerjemahkan kode-kode tersebut sehingga menghasilkan suatu tampilan yang indah. Lain halnya dengan program PHP, program ini harus diterjemahkan oleh web-server
43
sehingga menghasilkan kode html yang dikirim ke browser agar dapat ditampilkan. Program ini dapat berdiri sendiri ataupun disisipkan di antara kode-kode html sehingga dapat langsung ditampilkan bersama dengan kode-kode html tersebut. Program php dapat ditambahkan dengan mengapit program tersebut di antara tanda “
?>”. Tanda-tanda
tersebut biasanya disebut tanda untuk escape (kabur) dari kode html. File html yang telah dibubuhi program php harus diganti ekstensi-nya menjadi .php3 atau .php. PHP merupakan bahasa pemograman web yang bersifat server-side HTML atau disebut juga embedded scripting, di mana script-nya menyatu dengan HTML dan berada di server. Artinya, sintaks dan perintah-perintah yang diberikan akan sepenuhnya dijalankan di server tetapi tetap disertakan HTML biasa. PHP dikenal sebgai bahasa scripting yang menyatu dengan tag HTML, dieksekusi di server dan digunakan untuk membuat halaman web yang dinamis seperti ASP (Active Server Pages) dan JSP (Java Server Pages). (http://www.php.net/manual/en/intro-whatis.php)
2.2.6. XML (Extensible markup Language) XML adalah bahasa markup untuk dokumen yang berisi informasi yang terstruktur. Informasi yang terstruktur berisi konten (kata, gambar, dll) dan berindikasi peran yang memainkan (contoh, konten di bagian heading memiliki arti yang berbeda dari konten dalam footer, yang berarti sesuatu yang berbeda dari konten dalam angka keterangan atau konten dalam sebuah tabel database, dll). Hampir semua dokumen memiliki
44
beberapa struktur. Sebuah bahasa markup adalah suatu mekanisme untuk mengidentifikasi
struktur
dalam
dokumen.
Spesifikasi
XML
mendefinisikan sebuah cara standar untuk menambahkan markup untuk dokumen Keuntungan dari XML adalah sebagai berikut : 1. Sederhana Informasi yang ditulis dalam XML mudah untuk dibaca dan dipahami, serta dapat diproses dengan mudah oleh komputer. 2. Terbuka XML adalah standar World Wide Consortium (W3C), didukung oleh para pemimpin pasar industri perangkat lunak. 3. Dapat diperluas Sekumpulan tags tidak ada yang tetap dan tags yang baru dapat dibuat ketika diperlukan. 4. Self Description Dokumen XML dapat disimpan tanpa memerlukan definisi tertentu karena mengandung meta data dalam bentuk tag dan atribut. Setiap tag XML dapat memiliki atribut dalam jumlah yang tidak terbatas. 5. Berisi informasi yang dapat dibaca mesin konteks Atribut dan struktur elemen konteks memberikan informasi yang dapat digunakan untuk menafsirkan arti dari isi, membuka kemungkinan baru untuk mesin pencarian yang sangat efisien, cerdas data mining, agen, dll 6. Memisahkan bagian isi dengan tampilan 7. Mendukung dokumen multibahasa dan Unicode
45
8. Memfasilitasi perbandingan dan kesatuan data Struktur pohon dokumen XML memungkinkan dokumen untuk dibandingkan dan di-agresikan secara lebih efisien dari elemen ke elemen. 9. Dapat menambahkan beberapa jenis data Dokumen XML dapat berisi tipe data yang mungkin dari data multimedia (gambar, suara, video) ke komponen aktif (Java applet, ActiveX). 10. Dapat menambahkan data yang ada Pemetaan struktur data yang ada seperti sistem file atau database relasional ke XML sederhana. XML mendukung format data dan dapat mencakup semua data struktur yang ada. (http://www.xml.com/pub/a/98/10/guide0.html?page=2)
2.2.7. Bahasa SQL (Structured Query Language ) Bahasa SQL merupakan sarana utama berinteraksi dengan hampir semua sistem basis data relational modern. SQL menyediakan perintah untuk mengkonfigurasikan tabel, indeks, dan struktur data dalam basis data. Perintah SQL juga digunakan untuk memasukan, mengedit, dan menghapus data, serta query untuk mencari nilai suatu data yang spesifik. Semua interksi dengan basis data relational dilakukan melalui bahasa SQL. Hal ini berlaku ketika mengetik perintah secara interaktif atau saat menggunakan pemrograman API. Perintah SQL dibagi menjadi empat kategori utama. Setiap kategori mendefinisikan sekumpulan perintah yang memiliki tujuan masingmasing.
46
Kategori-kategori tersebut adalah sebagai berikut : 1. Data Definition Language (DDL) Mengacu pada perintah yang menentukan struktur tabel, view dan indeks atau perintah yang digunakan untuk menjelaskan objek dari basis data. Contoh dari perintah DDL adalah : •
CREATE TABLE (digunakan untuk mendefinisikan sebuah tabel baru)
•
CREATE DATABASE (digunakan untuk mendefinisikan sebuah basis data yang baru)
•
CREATE INDEX (digunakan untuk membuat index)
•
CREATE VIEW (digunakan untuk membuat view)
•
DROP DATABASE (digunakan untuk menghapus basis data)
•
DROP TABLE (digunakan untuk menghapus tabel)
•
DROP INDEX (digunakan untuk menghapus index)
•
DROP VIEW (digunakan untuk menghapus view)
•
ALTER TABLE (digunakan untuk mengubah suatu tabel)
2. Data Manipulation Language (DML) Mengacu pada semua perintah untuk menambahkan, mengedit, menghapus dan mengambil nilai dari data aktual yang didefinisikan oleh DDL. Contoh dari perintah DML adalah : • INSERT (digunakan untuk memasukan nilai baru ke dalam tabel) • UPDATE (digunakan untuk mengubah suatu nilai pada satu atau lebih kolom) • DELETE (digunakan untuk menghapus suatu nilai pada tabel)
47
• SELECT (digunakan untuk mengambil data dari tabel) 3. Transaction Control Language (TCL) Perintah TCL dapat digunakan untuk mengontrol perintah transaksi DML dan DDL. Contoh dari perintah TCL adalah sebagai berikut : •
BEGIN (digunakan untuk memulai transaksi multistatement)
•
COMMIT (mengakhiri dan menerima transaksi)
•
ROLLBACK (digunakan untuk membatalkan perubahan yang dilakukan dalam transaction atau menghapus semua data yang dimodifikasi pada awal transaction)
4. Data Control Language (DCL) Tujuan utama dari DCL adalah untuk memberikan atau mencabut kontrol akses. Sama seperti hak akses file, perintah DCL digunakan untuk memungkinkan (atau menolak) izin pengguna basis data tertentu (atau kelompok pengguna) untuk menggunakan atau mengakses sumber daya tertentu di dalam basis data. Izin ini dapat diterapkan baik pada DDL (seperti membuat tabel) maupun DML (seperti membaca, mengedit, dan menghapus record pada tabel yang spesifik) Contoh dari perintah TCL adalah : •
GRANT (digunakan untuk memberikan izin)
•
REVOKE (digunakan untuk menghapus izin yang sudah ada)
(http://teradata.uark.edu/research/guo/ddl.html)
48
2.2.7.1. MySQL MySQL merupakan standar penggunaan bahasa SQL yang terkenal dan dikembangkan oleh Oracle. MySQL mendukung berbagai integrasi baik ke sistem yang berbasis client maupun server. Program klien MySQL sendiri dapat ditulis dalam berbagai bahasa pemrograman, dengan kemampuannya berintegrasi dengan banyak library dan berbagai API (application programming interface), menjadikan MySQL sangat fleksibel dan mudah untuk digunakan. MySQL pertama kali dirancang oleh pakar programmer di basis data bernama Michael Widenius dan Monty Widenius. Nama MySQL sendiri diambil dari nama anak Monty widenius yang bernama My. Pertama kali di kembangkan
MySQL,
merupakan
sekumpulan
koneksi
yang
menghubungkan database sistem namun tidak dapat mengatasi permasalahan pemakaian waktu yang terlalu lama dalam prosesnya. Sehingga pada akhirnya dibentuk sebuah standar baru berbasis mSQL namun dengan API dan interface yang lebih mumpuni. (http://dev.mysql.com/doc/refman/5.0/en/what-is-mysql.html)
2.2.8. Pembelajaran Pembelajaran adalah suatu sistem yang bertujuan untuk membantu proses belajar peserta pembelajaran. Berisi serangkaian peristiwa yang dirancang, disusun sedemikian rupa untuk mempengaruhi dan mendukung terjadinya proses belajar yang bersifat internal. Pembelajaran dapat dilihat berbagai sisi, diantaranya adalah pembelajaran sebagai hasil. Pembelajaran sebagai hasil bermaksud bahwa
49
seseorang yang mengalami perubahan dalam tingkah laku, maupun cara berfikir, merupakan orang yang telah melakukan sebuah pembelajaran. Kegiatan pembelajaran dalam hal ini dapat berlaku negatif maupun positif, yang ditekankan adalah adanya perubahan pada akhirnya. Selain itu pembelajaran juga dapat dilihat sebagai proses. Sebagai contoh, proses mendapatkan pengalaman, proses dalam pembentukan kepribadian, maupun proses untuk mengetahui hal baru. Pembelajaran juga dapat mengarah keluar maupun kedalam. Mengarah keluar artinya seorang individu melakukan kegiatan belajar untuk membentuk lingkungan menyatu dengan dirinya, sedangkan mengarah ke dalam artinya seorang individu melakukan kegiatan belajar untuk membentuk dirinya menyatu dengan lingkungan. (http://www.infed.org/biblio/b-learn.htm)
2.2.8.1.
Pembelajaran Mobile Pembelajaran mobile merupakan kegiatan pembelajaran yang
tidak terkait tempat dan waktu, dikarenakan kemudahan yang ditawarkan kecanggihan teknologi. Segala jenis pembelajaran yang menggunakan segenap cara berkomunikasi melalui kecanggihan komputer, jaringan, dan alat komunikasi, telepon seluler sebagai contohnya. (http://www.infed.org/biblio/b-learn.htm)
50
2.2.9. Interaksi & Komunikasi Suatu
proses
pembentukan,
penyampaian,
penerimaan,
dan
pengolahan pesan yang terjadi dalam diri seseorang dan atau diantara dua atau lebih dengan tujuan tertentu. Komunikasi adalah upaya yang bertujuan berbagi untuk mencapai kebersamaan. Jika dua orang berkomunikasi maka pemahaman yang sama terhadap pesan yang saling dipertukarkan adalah tujuan yang diinginkan oleh keduanya. komunikasi adalah suatu proses pertukaran informasi diantara individu melalui sistem lambang-lambang, tanda-tanda atau tingkah laku.