BAB 2 LANDASAN TEORI
2.1 Teori Umum 2.1.1 Waterfall Model Menurut Sommerville (2011, p29-31) waterfall model terdiri dari proses aktivitas yang penting seperti spesifikasi, pembangunan, validasi, dan evolusi yang direpresentasikan dalam beberapa tahapan proses seperti tuntutan spesifikasi, desain sistem dan software, implementasi dan unit testing, intregasi dan system testing, operasi dan maintenance. Berikut ini adalah penjelasan mengenai beberapa tahapan proses tersebut : • Requirement Analysis and definition (Tuntutan spesifikasi) : Pada tahapan ini, terjadi komunikasi dengan user yang akan menentukan layanan, batasan, serta tujuan dari suatu sistem yang akan dibuat. Hasil konsultasi dengan user ini kemudian akan dibuat dan didefinisikan secara detail dan digunakan sebagai spesifikasi sistem. • System and Software Design (Desain Sistem dan perangkat lunak) : Pada tahapan ini akan ditentukan persyaratan yang akan dialokasikan ke dalam hardware maupun software dengan membuat arsitektur sistem secara keseluruhan. Pembuatan desain software meliputi
mengidentifikasikan
serta menjelaskan garis besar software system yang mendasar dan hubungannya.
9
10
• Implementation and unit testing : Pada tahapan ini, desain software direalisasikan sebagai suatu set program atau unit program. Testing unit dilakukan untuk memastikan bahwa setiap unit memenuhi spesifikasinya. • Integration and System testing : Pada tahapan ini unit individual program atau program diintegrasikan dan diuji coba sebagai suatu sistem yang lengkap untuk memastikan bahwa kebutuhan software telah terpenuhi. Setelah selesai dilakukan uji coba maka software akan dikirimkan pada pengguna. • Operation and Maintenance : Biasanya tahapan ini merupakan tahapan yang sangat lama dan terus menerus dilakukan. Sistem atau software yang telah dibuat telah diinstal dan digunakan sebagai penggunaan sementara hingga suatu kesalahan ataupun bug terlihat. Maintenance meliputi pembetulan kesalahan yang tidak terlihat pada tahapan awal pembuatan software tersebut, meningkatkan performa implementasi unit sistem dan menambahkan layanan sistem saat kebutuhan baru diminta.
2.1.2 Multimedia Menurut Vaughan (2008, p1), multimedia merupakan kombinasi antara teks, gambar, suara, animasi dan video yang diinterpretasikan oleh komputer atau perangkat elektronik lain. Dengan berbagai elemen yang dipresentasikan secara bersamaan seperti gambar yang menarik, animasi, suara yang mendukung, atau video klip yang berhubungan dapat membuat pikiran seseorang menjadi terpengaruh.
11
• Teks Menurut Vaughan (2008, p48) teks dan kemampuan membaca merupakan pintu menuju pengetahuan. Membaca dan menulis merupakan kemampuan yang dibutuhkan pada budaya modern. Dari dulu hingga sekarang, teks masih memberikan informasi yang memiki makna yang kuat.
• Suara Menurut Vaughan (2008, p96) suara merupakan unsur berbicara yang penting pada setiap bahasa. Suara mungkin merupakan salah satu elemen multimedia yang paling sensual karena suara dapat memberikan kenyamanan dalam mendengarkan musik. Suara juga dapat menjadi spesial efek yang mengejutkan serta musik latar belakang yang dapat mengatur perasaan. Beberapa musik yang enak didengar oleh telinga dapat mengisi hati, menciptakan emosi akan cinta atau dengan kata lain dapat membuat pendengarnya lebih nyaman secara batiniah.
• Gambar Menurut Vaughan (2008, p132) pada layar komputer biasanya terdapat beberapa elemen multimedia yang membentuk komposisi sebuah gambar, seperti : teks, simbol, foto seperti bitmap, grafik vektor, rendering 3 dimensi, tombol untuk di klik serta animasi. Beberapa bagian dari gambar ini mungkin bergerak sehingga membuat layar menjadi tidak
12
pernah konstan dan mengganggu penglihatan. Layar komputer merupakan bagian dimana aksi itu berjalan dan merupakan penghubung antara orang yang melihat dengan konten dalam layar.
• Animasi Menurut Vaughan (2008, p170) animasi membuat presentasi yang statis menjadi hidup. Animasi merupakan perubahan visual dari waktu ke waktu dan dapat memberikan dampak besar pada proyek multimedia maupun halaman web.
• Video Menurut Vaughan (2008, p192) hingga sekarang video merupakan elemen multimedia yang dapat menarik perhatian dari orang banyak. Video digital merupakan sumber multimedia yang sangat menarik dan dapat membawa pengguna komputer semakin dekat dengan dunia asli dan juga merupakan metode yang bagus untuk mengirim pesan multimedia kepada orang yang melihat. Dengan menambahkan elemen video kepada suatu proyek dapat membuat pesan yang dikirim menjadi lebih efektif dan orang yang melihat biasanya dapat membayangkan lebih daripada yang mereka lihat. Tetapi video yang tidak direncanakan dengan baik atau tidak diproduksi dengan baik dapat menurunkan presentasi proyek.
13
2.1.3 Eight Golden Rules Menurut Shneiderman & Plaisant (2010, p88-89) terdapat delapan aturan yang disebut aturan emas, yang dapat diterapkan dalam berbagai pembuatan sistem. Aturan ini berkembang dari pengalaman dan diperbaharui lebih dari 3 dekade. Aturan ini tidak dapat diberikan kepastian karena terus berkembang, namun aturan ini telah diterima oleh berbagai kalangan sebagai petunjuk yang berguna dalam membangun sistem. Delapan aturan itu adalah :
• Berusaha untuk konsisten Konsistensi dari setiap aksi harus dipertahankan pada setiap situasi. Tampilan yang identik harus digunakan pada menu dan layar bantuan dan juga konsistensi dari warna, tampilan, huruf dan sebagainya harus dipertimbangkan.
• Berusaha untuk penggunaan yang universal Sistem harus dapat mengetahui kebutuhan yang berbeda dari setiap user. User awam atau user ahli, range usia, dan perbedaan teknologi, faktor-faktor tersebut menambah kebutuhan yang harus diketahui dalam mengembangkan desain sistem. Menambah fitur untuk pengguna awam seperti penjelasan dan fitur untuk pengguna ahli seperti shortcut dan faster pacing, dapat memperkaya desain antar muka dan menggembangkan kualitas sistem.
14
• Memberikan umpan balik yang informatif Untuk setiap aksi yang dilakukan user, harus terdapat umpan balik yang diberikan oleh sistem. Untuk aksi yang kecil dan sering dilakukan respon yang diberikan sebaiknya sederhana, dan untuk aksi yang besar dan jarang dilakukan responnya sebaiknya lebih kompleks.
• Mendesain dialog untuk menghasilkan penutupan Setiap aksi harus dikelompokan pada kelompok-kelompok yaitu permulaan, pertengahan dan penutupan. Umpan balik yang informatif pada akhir suatu aksi yang dilakukan suatu kelompok memberikan user kepuasan dari penyelesaian aksi yang dilakukan, perasaan lega dan indikator untuk bersiap-siap menjalankan aksi berikutnya.
• Pencegahan kesalahan Sebisa mungkin mendesain sistem dimana user tidak dapat membuat kesalahan yang fatal. Sebagai contoh, buatlah menu yang tidak dapat dipilih apabila tidak dapat digunakan. Apabila user membuat kesalahan, layar antar muka harus dapat mendeteksi kesalahan dan memberikan instruksi yang sederhana, konstruktif, dan spesifik untuk perbaikan kesalahan.
15
• Memungkinkan pembalikan aksi yang mudah Sebisa
mungkin
aksi
harus
dapat
dibatalkan.
Fitur
ini
menghilangkan keraguan, karena user tahu bahwa kesalahan dapat dikembalikan dan membuat user berani untuk menelusuri lebih jauh pilihan-pilihan yang tidak dikenal.
• Mendukung pusat kendali internal User ahli biasanya berkeinginan kuat untuk mengontrol antarmuka dan antarmuka dapat merespon setiap aksi yang dijalankan. Para user ahli tidak menginginkan kejutan atau perubahan pada aksi yang sering dijalankan dan biasanya mereka merasa terganggu bila mengalami kesulitan dalam mengambil informasi yang dibutuhkan dan tidak mampu untuk menciptakan hasil yang diinginkan olehnya.
• Mengurangi beban ingatan jangka pendek Keterbatasan manusia untuk memproses dan mengingat informasi pada memori jangka pendek membutuhkan disainer sistem untuk menghindari pembuatan rancangan antarmuka dimana user harus mengingat informasi dari satu layar dan menggunakan informasi tersebut pada layar lain agar tidak membebani ingatan jangka pendek user.
16
2.1.4 Database Menurut Connolly (2010, p54) Database adalah kumpulan kumpulan data yang berhubungan secara logical dan deskripsinya didesain untuk memenuhi informasi yang dibutuhkan oleh organisasi yang proses penyusunan dan pengaksesannya dilakukan oleh suatu Database Management System. Database Management System adalah Sistem Software yang memungkinkan user untuk mendefinisikan, membuat, mengatur, dan memiliki akses control ke database. DBMS dapat berinteraksi dengan program aplikasi yang digunakan oleh user dan database. Menurut Connolly (2010, p55) database sangat dibutuhkan dalam pengembangan sistem dan dapat ditemui dalam kehidupan sehari-hari dan seringkali tidak disadari keberadaannya. Contoh penggunaan database pada kehidupan sehari-hari : • Pembelian barang pada supermarket, sangat jelas nampak bahwa setiap barang pada supermarket memiliki kode tersendiri yang bisa berupa barcode misalnya. Kode-kode unik itu yang memungkinkan data barang untuk disimpan pada database, sehingga saat akan dilakukan transaksi, sang kasir hanya perlu mengakses database untuk mencari informasi barang tersebut. • Pembelian barang menggunakan kartu kredit, pada setiap kartu kredit juga terdapat informasi yang dapat diakses ketika digunakan untuk pembayaran, seperti apakah kredit cukup untuk melakukan transaksi, barang apa saja
17
yang dibeli, semuanya tersimpan dalam suatu database yang diakses melalui jaringan telepon ataupun mesin pembaca kartu yang langsung menyambungkannya dengan komputer. • Pemesanan tiket pesawat secara online, untuk memudahkan pelanggan dalam pemesanan dan pembelian tiket maka beberapa maskapai penerbangan sudah menerapkan pembelian tiket secara online, dimana setiap kursi yang ada dalam suatu jadwal penerbangan telah disimpan dalam satu database, sehingga saat pemesanan dilakukan maka proses yang berjalan diatur oleh database yang berhubungan, misalnya database harus dapat mengatur agar tidak ada kursi yang dipesan oleh dua orang atau lebih secara bersamaan.
2.1.5 UML UML atau Unified Modeling Language merupakan dasar dari permodelan sistem yang merupakan proses pembuatan model abstrak dari suatu sistem berupa diagram, dimana setiap model memberikan pandangan yang berbeda dari sistem tersebut . Diagram UML terdiri dari banyak tipe dan jenis, namun yang paling sering ditemukan adalah : • Use Case Diagram Menurut Sommerville (2011, p124-126) Use Case Diagram merupakan diagram yang menunjukkan interaksi antara sistem dan lingkungan. Setiap Use Case Diagram merepresentasikan kerja yang berlainan yang melibatkan lingkungan dengan sistem. Pada bentuk yang paling sederhana Use Case Diagram, aksi yang dilakukan dapat
18
ditunjukkan sebagai bentuk ellips dimana aksi tersebut dilakukan oleh aktor yang dipresentasikan sebagai figur stik. Untuk lebih jelasnya lihat gambar dibawah ini :
Gambar 2.1 Contoh Use Case Diagram
Tabel 2.1 Penjelasan Use Case Diagram No. Simbol
Deskripsi
1.
Figur stik umumnya mempresentasikan aktor pada interaksi antara manusia dengan sistem dimana aktor merupakan manusia namun sekarang ini dapat juga digunakan
untuk
merepresentasikan
19
perangkat keras maupun sistem eksternal. 2.
Bentuk Ellips mempresentasikan kerja Task
yang
dilakukan
oleh
aktor
yang
dihubungkan ke aktor melalui suatu garis dan tidak diberikan tanda panah 3.
Bentuk kotak (Rectangular) menjadi Task1
tempat untuk menaruh setiap kerja yang Task2
dilakukan, seperti pigura untuk menaruh lukisan.
Use case Diagram memberikan rancangan yang sangat sederhana sehingga harus diberikan penjelasan mengenai kerja dan aktor apa saja yang terlibat. Walaupun Use Case Diagram merupakan diagram yang sederhana dan mudah dibuat tetap saja memiliki kelemahan, dimana penjelasan yang tidak jelas dapat menyebabkan kesalah pahaman ataupun ambiguitas bagi yang membacanya. Use Case Diagram difokuskan pada kebutuhan fungsionalitas dan umum sehingga tidak cocok untuk kebutuhan non fungsionalitas. Untuk keadaan dimana dibutuhkan penjelasan yang detil dan signifikan maka use case menjadi tidak berarti. Untuk hal ini maka Use Case Diagram perlu dibantu oleh diagram lainnya untuk memberikan penjelasan yang lebih lengkap.
20
Menurut Whitten & Bentley (2007, p248) suatu use case mungkin memiliki fungsionalitas yang kompleks yang terdiri dari beberapa tahapan yang membuat use case sulit untuk dipahami. Dengan tujuan untuk menyederhanakan use case dan membuatnya menjadi lebih mudah dipahami, use case dapat dipecah menjadi beberapa tahapan dimana tahapan tersebut menjadi use case tersendiri. Hasilnya maka akan didapat extension use case yang merupakan extends (perluasan) fungsionalitas dari use case asalnya. Extension use case adalah use case yang terdiri dari langkah-langkah yang didapat dari use case yang lebih kompleks dengan tujuan untuk menyederhanakan use case asal dan memperluas fungsionalitasnya. Use Case Diagram dapat memiliki banyak relasi extends tetapi extension use case hanya dapat diminta atau dipergunakan oleh use case asalnya.
21
Gambar 2.2 Contoh Extend Pada Use Case Diagram • Activity Diagram Menurut Pressman (2010, p161) Activity Diagram membantu Use Case Diagram dengan memberikan representasi grafis dari jalannya interaksi pada keadaan tertentu. Activity Diagram menunjukkan aktivitas yang terlibat pada suatu proses atau proses data. Mirip seperti flowchart, Activity Diagram menggunakan bentuk bentuk seperti berikut :
Gambar 2.3 Contoh Activity Diagram
Tabel 2.2 Penjelasan Simbol dalam Activity Diagram No.
Simbol
1.
Deskripsi Rounded Rectangle sebagai bentuk untuk
Task
22
fungsi sistem yang spesifik. 2.
Arrows/Tanda
panah
berfungsi
untuk
menunjukkan aliran kerja pada sistem.
3.
Decision Diamonds sebagai bentuk kerja yang memiliki cabang, bisa memiliki lebih dari 1 bentuk kerja selanjutnya.
4.
Horizontal
Lines
untuk
menjelaskan
aktivitas paralel yang sedang terjadi.
5.
Start node berfungsi untuk menunjukkan awal dari proses yang akan berjalan.
6.
End node berfungsi untuk menunjukkan akhir dari suatu proses yang berjalan.
• Sequence Diagram Menurut
Sommerville
(2011,
p126)
Sequence
Diagram
menunjukkan interaksi antara aktor dengan sistem dan interaksi antara komponen sistem. Sequence Diagram pada UML utamanya digunakan untuk menggambarkan interaksi antara objek dengan aktor di sistem dan interaksi antara objek itu sendiri. UML memiliki banyak sintaks untuk Sequence Diagram, yang memungkinkan banyak jenis interaksi untuk digambarkan. Seperti namanya, Sequence Diagram menunjukkan urutan
23
dari interaksi yang terjadi pada saat suatu kerja dijalankan, umumnya kerja yang dimaksud adalah salah satu kerja yang ada pada Use Case Diagram. Untuk lebih jelasnya lihat gambar berikut :
Gambar 2.4 Contoh Sequence Diagram
Menurut Whitten & Bentley (2007, p394-395) di dalam Sequence Diagram terdapat beberapa simbol yang sering digunakan, diantaranya :
Tabel 2.3 Penjelasan Simbol dalam Sequence Diagram No. 1.
Simbol
Deskripsi Figur stik merepresentasikan aktor yang berinteraksi dengan sistem dimana aktor menggambarkan seseorang, pada hal ini figur stik mempunyai fungsi yang sama
24
seperti halnya pada usecase. 2.
Sistem dilambangkan dengan bentuk kotak
penggunaan
(:)
titik
dua
Object Lifeline
merupakan standar yang digunakan untuk menunjukkan kejadian (instance) yang sedang berjalan 3.
Garis
putus-putus
vertikal
melambangkan lifeline yaitu riwayat atau waktu hidup (life) dari aktor atau sistem 4.
Bentuk
panah
dengan
garis
lurus
menjelaskan hubungan satu arah yang terjadi antara user ke komputer dimana merupakan hal yang dilakukan oleh user dan mempengaruhi sistem, atau dapat juga merupakan request user ke sistem. 5.
Bentuk panah dengan garis putus-putus menjelaskan hubungan satu arah yang berjalan dari komputer atau sistem <
menuju ke user, dimana biasanya hal yang dilakukan merupakan feedback dari
sistem
atas
tindakan
yang
25
dilakukan oleh user. 6.
Bentuk persegi panjang vertikal ke bawah Melambangkan periode waktu saat aktor atau system sedang dalam kondisi
aktif
berjalan)pada
(ada suatu
proses
yang
interaksi
yang
terjadi. 7.
Bentuk kotak dapat melambangkan loop
[....]
fungsi loop, alternate (alt), option (opt). Kondisi yang ada dalam kurung siku
alt
[....]
([ ]) merupakan kondisi yang harus dipenuhi selama proses berjalan.
opt
[....]
Aktor dan objek yang terlibat ditempatkan pada bagian atas diagram, dengan garis putus-putus vertikal untuk menyambungkan dengan kerja yang terjadi. Interaksi antara objek dihubungkan dengan tanda panah. Interaksi yang terjadi pada Sequence Diagram dibaca dari atas ke bawah.
• Class Diagram Menurut Sommerville (2011, p129) Class Diagram digunakan pada saat pembuatan model sistem berorientasi objek untuk menunjukkan kelas
26
objek yang ada pada sistem dan asosiasi dari kelas - kelas yang ada. Suatu kelas objek dapat diibaratkan sebagai penjelasan umum dari suatu objek sistem. Asosiasi merupakan penyambung antara suatu kelas dengan kelas lain yang mengindikasikan bahwa terdapat hubungan antara kelas kelas tersebut. Sebagai akibatnya, setiap kelas harus memiliki pengetahuan akan kelas-kelas yang terasosiasi dengannya. Pada saat tahap awal pembuatan model sistem, objek merupakan sesuatu yang berada pada dunia asli, seperti contohnya pasien pada rumah sakit, dokter, resep, dan lainnya. Namun saat implementasi sistem telah mulai dibangun, maka biasanya perlu ditentukan objek implementasi tambahan yang digunakan untuk menetapkan fungsionalitas sistem yang diperlukan. Class Diagram pada UML dapat digambarkan pada beberapa tingkatan yang detil. Pada saat pembuatan model, tahap pertama biasanya adalah melihat dunia asli, menentukan objek yang penting, dan merepresentasikannya sebagai suatu kelas. Cara termudah adalah dengan menuliskan nama kelas pada suatu bentuk kotak dan juga dapat diberikan asosiasi antar kelas dengan menggambar garis antar kelas yang berhubungan. Pada saat menggambarkan hubungan antar kelas maka perlu diberikan detil yang lebih lengkap pada setiap kelas. Karakteristik dari objek dan operasi yang terjadi pada objek tersebut perlu ditambahkan ke dalam kelas. Untuk lebih jelasnya lihat gambar berikut :
27
Gambar 2.5 Contoh Class Diagram
Dalam menyusun Class Diagram terdapat 4 hal penting yang harus diperhatikan yaitu antara lain : 1. Generalization (Generalisasi) Menurut Sommerville (2011, p131) generalisasi merupakan suatu teknik yang digunakan untuk mengatur kompleksitas yaitu dengan menempatkan entitas yang ada ke dalam kelas yang lebih umum dan mempelajari lebih lanjut karakteristik kelas tersebut. Dengan melakukan hal ini maka karakteristik umum yang dimiliki oleh entitas-entitas tersebut dapat ditentukan dan dapat dibuat kesimpulan umum yang dapat ditujukan pada setiap anggota kelas. Pada generalisasi, setiap kelas bawah selalu berhubungan dengan kelas atasnya, atau dalam arti memiliki inheritance dari kelas atasnya namun
28
ditambahkan atribut-atribut lain yang lebih spesifik. Untuk lebih jelasnya lihat gambar berikut :
Gambar 2.6 Contoh Generalisasi pada Class Diagram
Pada gambar ini menjelaskan bahwa Mobil dan Truk pada proses generalisasi digolongkan pada kelas umum Kendaraan, dimana setiap atribut dan operasi yang ada pada kelas Kendaraan juga diinherit oleh kelas Mobil dan kelas Truk namun diberikan atribut lain yang lebih spesifik yaitu Jumlah Penumpang dan Jumlah Pintu pada kelas Mobil dan Tipe Kabin dan Kapasitas pada kelas Truk.
29
2. Aggregation Menurut Pressman (2010, p178) merupakan jenis asosiasi antar kelas yang digambarkan dengan bentuk diamond dengan warna putih atau transparan, asosiasi yang terjadi merupakan asosiasi "hasknowledge-of" yaitu merupakan asosiasi yang terjadi ketika suatu kelas memiliki susunan kelas-kelas lain namun bisa ada ataupun tidak sehingga asosiasi merupakan hubungan lemah. Untuk lebih jelasnya lihat gambar berikut :
Gambar 2.7 Contoh Agregasi pada Class Diagram
Pada gambar terlihat bahwa kelas Address dimiliki oleh kelas Person sehingga hubungan yang terjadi merupakan hubungan Aggregasi karena kelas Person bisa memiliki kelas Address namun bisa juga tidak memilikinya.
3. Composition Menurut Pressman (2010, p178) komposisi atau composition merupakan asosiasi antar kelas yang digambarkan dengan diamond
30
berwarna hitam, asosiasi yang terjadi merupakan asosiasi "part-of" yang merupakan asosiasi ketergantungan karena satu kelas dibentuk oleh satu atau sekumpulan kelas lain. Untuk lebih jelasnya lihat gambar berikut :
Gambar 2.8 Contoh Komposisi pada Class Diagram
Pada gambar terlihat bahwa kelas Car dan kelas Engine digambarkan memiliki asosiasi komposisi sehingga yang dimaksudkan adalah kelas Engine merupakan bagian dari kelas Car dan hubungan yang terjadi merupakan hubungan kuat karena kelas Engine dibutuhkan oleh kelas Car, sebagai contoh dalam dunia nyata sebuah mobil tidak dapat berjalan tanpa adanya mesin di dalamnya.
4. Multiplicity Menurut Pressman (2010, p180) asosiasi seperti sudah disebutkan sebelumnya yaitu aggregasi dan komposisi menjelaskan hubungan yang terjadi antar kelas sedangkan mulplicity atau multiplisitas menjelaskan seberapa banyak suatu kelas terhubung dengan seberapa banyak kelas lain. Hubungan multiplisitas yang terjadi bisa merupakan :
31
-
One to One
-
One to Many
-
One to Specified range with lower and upper limit Untuk lebih jelasnya lihat gambar berikut :
Gambar 2.9 Contoh Multiplicity pada Class Diagram
Pada gambar terlihat bahwa terdapat multiplisitas yang terjadi antara kelas Contact dan ZipLocation dimana kelas Contact memiliki tepat satu kelas ZipLocation dan kelas ZipLocation bisa tidak memiliki (simbol : 0) dan memiliki banyak kelas Contact (simbol : *).
2.1.6 ER Modeling (Entity Relationship Modelling) Menurut Connolly (2010, p371) ER Modeling (Entity Relationship Modelling) merupakan pendekatan ke desain database yang dimulai dengan mengidentifikasi data-data penting yang disebut entitas dan hubungan antara entitas yang direpresentasikan pada model. Kemudian ditambahkan detil-detil
32
lebih lanjut yang merupakan informasi yang disebut atribut dan ikatan yang terjadi antara entitas, hubungan dan atribut. Yang merupakan bagian dari ER modeling adalah : 2.1.6.1 Entity Types Menurut Connolly (2010, p372) konsep dasar dari ER modeling adalah entity types atau tipe entitas yaitu kumpulan dari objek yang memiliki property yang sama dan memiliki keberadaan yang independen. Tipe entitas dapat diklasifikasikan sebagai kuat atau lemah a.
Entitas Kuat, yaitu tipe entitas yang keberadaannya tidak
tergantung pada tipe entitas lainnya. b.
Entitas Lemah, yaitu tipe entitas yang keberadaannya bergantung
pada tipe entitas lainnya.
2.1.6.2 Relationship Types Menurut
Connolly (2010,
p374) tipe relasi
merupakan
serangkaian set dari asosiasi yang terjadi antara satu atau lebih entity types atau tipe entitas. Setiap relationship types atau tipe relasi diberikan nama yang menjelaskan fungsinya. Sedangkan Relationship Occurrence merupakan asosiasi unik yang terjadi dan dapat diidentifikasi, yang termasuk di dalamnya terdapat satu occurrence (kejadian) dari setiap tipe entitas. Tipe relasi digambarkan dengan sebuah garis yang menghubungkan entitas-entitas yang saling berhubungan. Garis tersebut diberi nama sesuai dengan nama
33
hubungannya dan diberi tanda panah satu arah disamping nama hubungannya. 2.1.6.3 Atributes Menurut Connolly (2010, p379) atribut merupakan properti dari tipe entitas atau tipe relasi. Sebagai contoh, tipe entitas staff bisa dijelaskan dengan atribut staffNo, name, position, dan salary. Atribut tersebut memiliki nilai yang menjelaskan setiap entitas dan merepresentasikan bagian utama dari data yang tersimpan di database.
2.1.6.4 Keys Menurut Connolly (2010, p381-382) Candidate Key adalah kumpulan
atribut
minimal
yang
nilainya
secara
unik
mengidentifikasikan setiap occurrence dari sebuah tipe entitas. Primary
Key
adalah
Candidate
Key
yang
dipilih
untuk
mengidentifikasi secara unik setiap occurrence dari suatu tipe entitas karena setiap entitas bisa memiliki lebih dari satu Candidate Key.
2.1.7 Object-Oriented Programming Menurut Whitten & Bentley (2007, p370-371) object-oriented programming atau programming berbasis objek membutuhkan 2 hal penting yaitu Object-Oriented Analysis (OOA) dan Object-Oriented Design (OOD).
34
• Object-Oriented Analysis Menurut Whitten & Bentley (2007, p383-400) Object-Oriented Analysis atau biasa disebut dengan OOA merupakan pendekatan yang digunakan untuk : Mempelajari objek yang ada untuk melihat apakah mereka dapat digunakan kembali atau diadaptasikan untuk penggunaan lain. Mendefinisikan objek baru serta merubah objek yang akan digabungkan dengan objek lain yang telah ada menjadi aplikasi bisnis berbasis komputer yang berguna. Dalam melakukan Object-Oriented Analysis ada 3 aktivitas penting yang harus dilakukan yaitu : Membuat model dari deskripsi fungsional sistem Pada tahap membuat Use Case Diagram pada UML, Use Case Diagram dibuat untuk hanya memiliki informasi umum dari sistem. Tujuannya adalah untuk mendokumentasikan secara cepat kebutuhan yang diperlukan oleh sistem. Namun pada saat kita melakukan ObjectOriented Analysis maka Use Case Diagram akan diperbaharui terus menerus dengan menambahkan detil-detil yang didapat dari proses pembuatan sistem seperti kebutuhan layar Interface agar Use Case Diagram dapat berubah menjadi Analysis Use Case Diagram. Mencari dan mengidentifikasi objek. Dalam mencari objek, maka banyak para ahli metodologi menyarankan untuk mencari setiap nouns (kata benda) yang berpotensi
35
untuk menjadi objek dari dokumentasi-dokumentasi yang ada. Namun hal ini sangatlah merepotkan, maka dengan penggunaan Use Case modeling akan membantu menyelesaikan masalah seperti ini. Langkah-langkah untuk mengidentifikasi objek adalah : Langkah pertama temukan objek yang potensial. Langkah ini dilakukan dengan melihat kembali setiap use case model yang ada dengan tujuan untuk menemukan nouns (kata benda) yang berhubungan atau berpotensi menjadi objek. Langkah kedua memilih objek yang diperlukan dari semua kandidat yang telah ditemukan. Tidak semua kandidat nouns (kata benda) dapat menjadi objek karena tidak sesuai dengan kebutuhan yang diperlukan pada sistem yang dibuat. Dengan menganalisa setiap kandidat maka kita dapat menentukan apakah kandidat tersebut dapat tetap menjadi objek atau sebaiknya dihilangkan. Analisa dapat dilakukan dengan beberapa pertanyaan berikut : Apakah kandidat merupakan objek yang sama dengan objek lain dan hanya memiliki nama yang berbeda? Apakah kandidat berada diluar batas/jangkauan sistem? Apakah kandidat tidak jelas dan harus diperiksa secara lebih jelas? Apakah kandidat merupakan sebuah atribut yang menjelaskan objek lain?
36
Setiap pertanyaan, bila mendapatkan jawaban “Ya” maka menandakan bahwa kandidat tidak pantas untuk menjadi objek. Mengorganisasikan objek dan mengidentifikasi hubungan setiap objek Setelah mengidentifikasi objek yang diperlukan, hal berikutnya yang perlu dilakukan adalah menyusun objek-objek tersebut dan mendokumentasikan setiap hubungan yang terjadi antara objek. Class Diagram dapat digunakan untuk menggambarkan objek beserta dengan asosiasinya. Satu hal yang penting pula dalam melakukan Object-Oriented Analysis yaitu dengan menentukan kelas objek dari objek yang telah ditemukan. Kelas objek atau lebih disingkat kelas, merupakan set dari objek yang memiliki attribute dan aturan yang sama.
• . Object-Oriented Design Menurut Whitten & Bentley (2007, p648-671) Object-Oriented Design atau yang biasa disebut dengan OOD merupakan pendekatan yang digunakan untuk memperinci solusi sistem yang dipandang dari objek yang berkolaborasi, atribut objek dan klasifikasi dari objek tersebut. Seperti halnya Object-Oriented Analysis, maka Object-Oriented Design juga dilakukan dalam beberapa tahap yaitu : Memperbaharui Use Case Model Dalam hal ini, berarti setiap use case yang ada akan diperbaharui dengan menambahkan detail bagaimana aktor akan
37
berhubungan
dengan
sistem
dan
bagaimana
sistem
akan
memprosesnya. Tingkah laku user dalam mengakses sistem juga harus dijelaskan secara detail, seperti penggunaan menu, tombol, dan lain-lain.
Membuat Interaksi antar kelas, “behaviors”, dan state yang membantu scenario use case. Dapat dilakukan dalam beberapa tahapan yaitu : Mengidentifikasi dan mengklasifikasikan kelas dari desain use case. Pada
tahapan
ini,
use
case
diperbaharui
untuk
merefleksikan lingkungan yang akan diimplementasikan dengan sistem. Pada tahapan ini pula akan dilakukan pengidentifikasian dan pengkategorisasian kelas desain yang dibutuhkan berdasarkan fungsionalitas yang dijelaskan pada use case dan mengidentifikasi interaksi antar kelas, tugas-tugas kelas, dan “behavior” dari kelas.
Mengidentifikasi atribut kelas Dalam tahapan ini, setiap use case akan diperiksa kembali untuk menemukan atribut tambahan yang belum diidentifikasi sebelumnya, dan ditambahkan ke dalam kelas diagram.
Mengidentifikasi Behaviors dan Responsibilites kelas Setelah mengidentifikasi setiap objek yang dibutuhkan untuk membantu fungsionalitas kelas, maka selanjutnya yang
38
perlu
dilakukan
adalah
mendefiniskan
Behaviors
dan
Responsibilites. Dapat dilakukan dengan :
Menganalisa use case untuk mengidentifikasi behavior sistem yang diperlukan.
Mengasosiasikan Behaviors dan Responsibilites dengan kelas.
Membangun kelas yang memiliki behavior yang kompleks.
Memeriksa
Class
Diagram
untuk
mencari
behaviors
tambahan.
Memverifikasi klasifikasi.
Membuat model dari state objek Tahapan ini dilakukan dengan mengidentifikasi dan memodelkan setiap objek yang memiliki behavior yang kompleks berdasarkan perubahan state-nya. State objek merupakan kondisi objek pada satu waktu selama waktu hidupnya.
2.1.8 Bahasa Pemrograman Java Menurut Liang (2011, p32-33) bahasa pemrograman Java diciptakan pertama kali oleh sekelompok tim yang dipimpin oleh James Gosling di Sun Microsystems yang pertama kalinya disebut sebagai Oak yang diciptakan tahun 1991 untuk digunakan pada chip yang ditanamkan di peralatan elektronik. Pada tahun 1995 diubah namanya menjadi java yang di desain untuk membuat aplikasi internet.
39
Java itu sederhana, object oriented, aman, portable, memiliki performansi yang tinggi, multithreaded, dan dinamis. Java juga merupakan bahasa pemrograman yang penuh fitur dan dapat digunakan untuk membuat berbagai aplikasi baik yang umum maupun yang tingkat tinggi. Sekarang ini java digunakan tidak hanya untuk pemrograman web tetapi juga untuk membuat aplikasi yang bisa berdiri sendiri meskipun berbeda perangkat seperti pada server, komputer, ataupun pada perangkat mobile.
2.2 Teori Khusus 2.2.1 Game 2.2.1.1 Pengertian Game Jesse schell (2008, p26-34) menyebutkan game sebagai sesuatu yang dapat dimainkan. Namun hal itu masih sangat singkat, maka Schell memberikan poin-poin mengenai kualitas game untuk memperjelas kalimat tersebut : • Game dimainkan secara sukarela, dalam artian game dimainkan bukan karena paksaan tetapi karena memang sesorang berminat untuk bermain di dalam game tersebut. • Game memiliki tujuan, dimana ada akhir yang bisa didapat dalam memainkan sebuah game. • Game mempunyai konflik, yaitu ada saat dimana pemain game harus menyelesaikan konflik permasalahan untuk menyelesaikan game tersebut.
40
• Game mempunyai aturan, jelas game harus mempunyai aturan dimana pemain harus menuruti aturan tersebut bila ingin memainkan game secara sempurna. • Game bisa menang atau kalah, akhir dari suatu game sangat jelas apakah pemain menang atau kalah, bila tidak maka game akan dianggap membosankan dan permainan tidak memiliki akhir. • Game itu interaktif, game dapat memberikan hiburan, suatu hal yang memicu ketertarikan pemain untuk memainkan game tersebut. • Game memiliki tantangan, yaitu game memiliki sesuatu yang membuat pemain mau untuk berusaha lebih keras dalam upaya untuk menyelesaikan permainan. • Game memiliki “harga/nilai” tersendiri, dalam arti setiap hal yang berada dalam game tersebut sangatlah penting untuk dimiliki oeh setiap pemain namun di
luar game tersebut maka hal tersebut
sangatlah tidak berguna. Sebagai contoh adalah uang mainan yang dipergunakan selama permainan monopoly, hal itu sangatlah penting namun diluar permainan maka uang mainan tersebut tidaklah memiliki harga sama sekali. • Game dapat menyibukkan pemain, bukan hal yang baik memang, tetapi game seharusnya dapat membuat pemain untuk tetap fokus dalam menjalankan permainan dengan kata lain tidak dapat diganggu oleh hal lain selama masa permainan.
41
• Game itu tertutup dan formal, formal dalam arti memiliki aturan seperti sudah disebutkan sebelumnya, dan tertutup yang berarti pemain memiliki pemikiran, perasaan tersendiri dibandingkan di luar permainan atau berarti game dapat membuat pemain seolaholah masuk ke dalam permainan selama masa permainan.
2.2.1.2 Elemen-Elemen yang Membangun Sebuah Game Menurut Schell (2008, p41-42) ada 4 elemen penting yang membangun sebuah game yaitu : • Mechanics/Mekanisme menjelaskan tujuan dari game tersebut dimainkan, yaitu apa yang dapat dilakukan dan tidak dapat dilakukan oleh user dan konsekuensi yang didapat oleh user ketika melakukan suatu aktivitas. • Story merupakan salah satu elemen terpenting dari game, yaitu sekuen dari peristiwa yang terjadi sejak pemain memainkan game tersebut. Saat memilih story maka harus disertai pula dengan mekanisme yang sesuai dan dapat mendorong story tersebut menjadi lebih menarik. • Aesthetics menjelaskan bagaimana game itu dapat dirasakan oleh setiap indra manusia. Aesthetics merupakan elemen terpenting karena terhubung langsung dengan pengalaman pemain dalam memainkan game.
42
• Technology merujuk kepada hal-hal yang membuat game itu dapat dimainkan, tidak hanya merupakan teknologi tingkat tinggi seperti komputer, atau konsol game, tetapi juga hal-hal seperti kertas, pensil dan lainnya. Teknologi yang telah dipilih dapat menjadikan beberapa aktivitas berjalan sekaligus membatasi pemain untuk tidak melakukan hal yang tidak berhubungan dengan game.
2.2.1.3 Jenis-Jenis Genre Game Adams (2010, p390-617) menggolongkan game-game yang ada ke dalam beberapa kategori game, yaitu : • Action Games adalah permainan yang menyajikan tantangan secara tes kemampuan fisik pemain dan koordinasi. Action Games membutuhkan koordinasi tangan-mata dan biasanya memerlukan reaksi yang cepat. Dalam Action Games pemain tidak memiliki waktu untuk mengatur strategi atau mengatur rencana oleh sebab itu Action
Games
memiliki
tingkat
stress
yang
lebih
tinggi
dibandingkan game lainnya. Action Games juga membutuhkan keterampilan fisik seperti tujuan yang akurat, irama atau waktu, atau kemampuan untuk mengeksekusi kombo. Contoh Action Games adalah Gauntlet II, Gauntlet : Seven Sorrows, Maze War. • Strategy Games menantang pemain untuk meraih kemenangan melalui perencanaan serangkaian tindakan yang diambil terhadap satu lawan atau lebih. Yang membedakan antara Strategy Games
43
dengan
Puzzle
Games
adalah
Puzzle
Games
memerlukan
perencanaan tetapi tidak secara langsung kepada lawan. Strategy Games adalah permainan yang biasanya melakukan pengurangan pasukan musuh sebagai kunci utama sehingga sebagian Strategy Games adalah permainan perang. Contoh Strategy Games adalah Stronghold Crusader, Starcraft, Age of empire. • Role-Playing
Games
(RPG)
adalah
permainan
yang
memperlihatkan petualangan di dunia imajiner melalui avatar karakter atau sekelompok kecil dari karakter yang keterampilan dan kekuatannya tumbuh seiring berjalannya dengan waktu permainan. Dalam
sebuah
permainan
RPG
biasanya
seorang
pemain
mengontrol satu atau lebih karakter yang dirancang oleh pemain dan quest akan membimbing mereka untuk menentukan arah jalan permainan. Contoh RPG adalah Diablo, Final Fantasy, Legend of Legaia. • Sports Games adalah permainan yang mensimulasikan beberapa aspek dari olahraga baik itu nyata maupun imajiner, seperti bermain dalam suatu pertandingan, mengelola sebuah tim atau karir, atau keduanya. Biasanya Sports Games dibuat untuk menarik minat anak kecil yang mungkin tidak tahu banyak mengenai suatu olahraga secara nyata atau fans dari olahraga tersebut. Contoh Sports Games adalah Pro Evolution Soccer dan Football Manager.
44
• Construction
and
Management
Simulation
Games
adalah
permainan yang bukan bertujuan untuk mengalahkan musuh tetapi permainan ini bertujuan membangun sesuatu dalam proses yang berkelanjutan. Elemen penting dalam CMS Games adalah proses, dimana semakin baik pemain mengetahui dan mengontrol proses maka hasil yang didapat akan lebih banyak. Contoh dari CMS Games adalah SimCity dan Theme Park World. • Adventure Games adalah suatu permainan yang memiliki tema cerita yang interaktif dari karakter utama dalam permainan tersebut. Elemen penting dari Adventure Games adalah cerita dan karakter yang menarik lalu digabungkan dengan fitur eksplorasi. Contoh dari Adventure Games adalah Crash Bandicoot dan Indiana Jones and the Emperor’s Tomb. • Puzzle games adalah suatu permainan yang bertujuan untuk mengasah kemampuan otak pemain dengan cara menyelesaikan teka-teki yang diberikan. Biasanya teka-teki yang diberikan berkaitan dengan tema dari game tersebut dan diberikan petunjuk untuk pemain sehingga memudahkan pemain dalam menyelesaikan teka-teki tersebut. Contoh dari Puzzle games adalah Solitaire dan The Incredible Machine. Puzzle sering muncul dalam beberapa genre games, contohnya pada Action Games dimana pemain harus mencari tahu kelemahan dari lawan pemain dan pada Adventure Games dimana pemain harus
45
mendapatkan benda yang tersembunyi atau mendapatkan informasi dari orang lain. Dalam Puzzle Games, pemecahan puzzle merupakan kegiatan utama yang harus dilakukan meskipun puzzle dapat muncul dalam alur cerita atau mengarah ke tujuan lain yang lebih besar. Puzzle Games biasanya memberikan sebuah tantangan yang terkait dimana tantangan tersebut bergantung dari tema dari game. Tipe dari puzzle yang ditawarkan diantaranya mengenali pola, membuat kesimpulan logis, atau memahami proses. Puzzle memberikan petunjuk kepada pemain yang harus diuraikan atau dipecahkan oleh pemain untuk memenuhi kondisi kemenangan yang ada. Untuk menjadi sukses secara komersial, Puzzle Games harus menantang, secara visual menarik, dan yang paling penting adalah menyenangkan. Selain itu Puzzle Games juga harus bersifat baru dan menawarkan cukup gameplay yang interaktif untuk menarik minat pemain. Terdapat delapan langkah dalam membuat Puzzle Games, empat langkah pertama terdiri dari proses menentukan aturan dan empat langkah selanjutnya terdiri dari proses membangun teka-teki : 1. Mencari inspirasi. Mencari inspirasi dapat dilakukan dari berbagai cara termasuk melihat dari game-game sejenis. Contohnya tetris, terinspirasi dari permainan yang disebut pentomino. 2. Menyederhanakan. Ketika inspirasi sudah didapatkan yang perlu dilakukan adalah menyederhanakan inspirasi tersebut dengan
46
menghilangkan hal-hal yang terlalu rinci dan tidak relevan sehingga membuat pemain bingung. 3. Membuat mengetahui
satu
set
konsep
konstruksi. puzzle
Satu-satunya menarik
cara
adalah
untuk dengan
memainkannya. Sebelum membuat program sampai selesai sebaiknya membuat suatu rancangan di kertas atau program sederhana untuk mengetahui apakah permainan tersebut menarik. 4. Menentukan aturan. Menentukan aturan adalah bagian terpenting dari desain puzzle. aturan-aturan yang biasanya terdapat dalam Puzzle Games adalah board (apakah bergaris, sebuah jaringan, tidak teratur atau tidak ada board sama sekali), pieces (bagaimana bentuknya, apakah berupa gambar, ada atribut lain yang dimiliki, dan apakah berurutan), moves (apa yang diperbolehkan dan tidak diperbolehkan, apa efek yang dimiliki), goal atau victory condition (apakah harus sama persis dengan gambar sebelumnya, apakah dapat menjawab semua pertanyaan). 5. Membangun teka-teki. sebuah Puzzle Games menantang pemain agar bisa menyelesaikan masalah tetapi dengan cara yang tidak sederhana. Setiap Puzzle Games mengharuskan pemain membuat pilihan, beberapa diantaranya menyebabkan keadaan buntu atau tidak ada jalan. Puzzle Games membutuhkan wawasan dari pemain agar suatu saat pemain menyadari bagaimana mengatasi dan menyelesaikan Puzzle Games tersebut.
47
6. Pengujian. Pengujian dilakukan untuk mengetahui apakah puzzle yang diberikan bersifat terlalu mudah atau terlalu sulit. Selain itu, pengujian dilakukan juga dengan tujuan untuk mengetahui apakah Puzzle Games tersebut menyenangkan untuk pemain, membantu menemukan kesalahan dalam aturan permainan, dan mengetahui keserasian dari user interface yang digunakan karena biasanya apa yang dilakukan dalam Puzzle Games cenderung berulang sehingga desain user interface yang halus sangatlah penting. 7. Merancang urutan. Pada tahapan ini, puzzle yang ada harus disusun urutannya. Aturan dalam penyusunan puzzle yang paling sering dilakukan adalah urutan linier (dari mudah ke sulit). Selain itu, terdapat pula aturan lain dalam penyusunan puzzle yaitu sawtooth shape dimana pada urutannya puzzle yang mudah bisa diselingi dengan puzzle yang sulit lalu kembali lagi ke puzzle yang mudah. 8. Perhatikan presentasi dari game. Beberapa rincian yang penting dari desain game diantaranya : suara, gaya grafis, animasi, elemen user interface, alur cerita (jika ada), dan sebagainya. Jika merancang jenis permainan selain puzzle mungkin rincianrincian dari desain game bisa dianggap penting tetapi dalam Puzzle
Games
hampir
90%
dalam
permainan
adalah
menyelesaikan teka-teki jadi rincian-rincian dalam desain game biasanya kurang diperhatikan oleh pemain.
48
• Online Games adalah permainan yang bisa dimainkan secara multiplayer
dimana
mesin
yang
digunakan
setiap
pemain
dihubungkan melalui sebuah network. (Berbeda dengan multiplayer local games dimana semua pemain bermain menggunakan satu mesin yang sama dan melihat layar yang sama.) Biasanya network yang digunakan untuk menghubungkan setiap pemain adalah internet. Keuntungan dari Online Games adalah pemain dapat melakukan interaksi sosial kepada pemain lainnya. Contoh dari Online Games antara lain Ragnarok dan DotA.
2.2.2 Storyboard Vaughan (2008, p407) menjelaskan storyboard sebagai suatu skema grafis, yang menjelaskan projek dalam detail yang tepat atau sesuai hanya dengan menggunakan kata-kata dan sketsa kasar untuk setiap gambar, suara, dan pilihan navigasi sampai dengan warna yang spesifik, bayangan, isi dari teks, bentuk tombol, dan berbagai hal lainnya. Ada dua pendekatan yang dapat dilakukan dalam membuat storyboard, yaitu : • Membuat storyboard dengan menyertakan berbagai detil dari produk yang akan dibuat hingga ke detil terkecil, sehingga selama proses pembuatan aplikasi maka storyboard bekerja sebagai pemandu secara penuh dan programmer tidak membutuhkan pemikirannya sendiri. • Membuat storyboard dengan hanya menyertakan sebagian kecil ide untuk pembuatan aplikasi disertai dengan gambaran sederhana dari aplikasi
49
tersebut sehingga programmer membutuhkan usaha tambahan untuk membuat aplikasi tersebut menggunakan imajinasinya sendiri sehingga hasil yang keluar mungkin berbeda dari bayangan tetapi bisa lebih kreatif.
2.2.3 Game Design Schell (2008) dalam bukunya The art of game design menyebutkan game design adalah aksi yang dilakukan untuk menentukan seperti apa game tersebut seharusnya. Dalam mendesain game maka membutuhkan ratusan, hingga ribuan keputusan. Mendesain game tidak membutuhkan perangkat khusus karena praktisnya mendesain game merupakan pengambilan keputusan sehingga mendesain game dapat dilakukan di dalam pikiran kita sendiri dan selanjutnya baru didokumentasikan pada tempat lain seperti kertas atau pada komputer
apabila telah ditetapkan keputusan yang diambil. Pengambilan
keputusan mengenai aturan game, story, timing, reward, hukuman, serta segala hal lain yang berhubungan dengan pengalaman yang akan dirasakan oleh pemain harus dipertimbangkan dalam mendesain game.
2.2.4 Android Burnett (2010) dalam bukunya Hello Android menyebutkan Android merupakan suatu toolkit software open source untuk perangkat mobile dan tablet yang diciptakan oleh Google dan aliansi Open Handset. Dengan penggunaan pada jutaan perangkat mobile membuat Android menjadi platform utama untuk developer aplikasi mobile. Android menggabungkan beberapa hal yaitu :
50
• Merupakan suatu platform pengembangan aplikasi yang benar benar gratis dan terbuka, dapat digunakan siapa saja tanpa perlu membayar suatu royalty, dan berjalan pada operation system Linux. • Arsitektur berbasis komponen dimana pengembangan suatu aplikasi dapat menggunakan komponen dari aplikasi yang dibuat oleh orang lain namun dengan menyertakan komponen baru yang telah diimprovisasi sendiri sehingga dapat meningkatkan kreativitas dalam pembuatan aplikasi. • Banyaknya layanan yang telah disertakan untuk dimasukkan ke dalam aplikasi yang telah dibuat, penggunaan GPS, SQL database, Browser dan maps yang dapat dimasukkan langsung, sehingga menghemat biaya pembuatan dan meningkatkan fungsionalitas aplikasi yang dibuat. • Manajemen otomatis terhadap penggunaan aplikasi dimana Android dapat mengatur penggunaan suatu aplikasi apakah dibutuhkan atau tidak, sehingga pengguna tidak perlu khawatir untuk menutup suatu aplikasi agar aplikasi lain dapat berjalan. Android diperuntukkan kepada perangkat yang rendah tenaga serta rendah memori dimana platform lain tidak pernah mempertimbangkannya. • Suara dan Gambar dengan kualitas tinggi dimana Gambar yang halus, grafik vector serta animasi digabungkan dalam OpenGL graphics untuk pengembangan aplikasi game maupun bisnis baru. • Portabilitas terhadap banyak pilihan hardware sekarang maupun yang akan datang dimana setiap program atau aplikasi yang dibuat menggunakan bahasa pemrograman Java dan dijalankan oleh Android’s Dalvik Virtual
51
Machine, sehingga kode program yang telah dibuat dapat diportabilisasikan ke dalam ARM, x86 maupun arsitektur lain.
2.2.5 Eclipse Burnett (2010) dalam bukunya Hello Android menyebutkan eclipse merupakan sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform. Eclipse
menggunakan
bahasa
pemrograman
Java,
Eclipse
sendiri
dikembangkan dengan menggunakan bahasa pemrograman java. Namun sampai saat ini eclipse bukan saja hanya sebagai tool untuk java development, namun sudah dipakai untuk berbagai macam keperluan aplikasi development misalkan dengan menggunakan C/C++, Python, FORTRAN, UML dan lainnya. Bahkan eclipse dapat juga dimanfaatkan untuk web development. Karakteristik Eclipse : • Multiplatform : Eclipse dapat digunakan di berbagai platform yakni Windows, Linux, Solaris, Aix, dan juga Mac OS X. • Multilanguage
:
Eclipse
dikembangkan
menggunakan
bahasa
pemrograman java namun dapat digunakan juga untuk berbagai aplikasi menggunakan C/C++, Python, FORTRAN, UML dan lainnya. • Multi-role : Selain sebagai IDE untuk pengembangan aplikasi, Eclipse juga dapat digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, tes perangkat lunak, dan lainnya.
52
2.2.6 AndEngine (http://www.andengine.org/blog/about/) Andengine merupakan sebuah plug-in atau library kecil yang memudahkan pembuatan aplikasi untuk device Android yang diciptakan oleh Nicolas Gramlich. Pada library ini sudah terdapat kelas-kelas yang dapat mempermudah pembuatan game, misal kelas Animasi, Sound, Physic, dan sebagainya. Andengine merupakan library open source sehingga gratis dan dapat dikembangkan oleh siapa saja dan dikembangkan dengan bahasa pemrograman java. Kelebihan dari andengine antara lain : •
Gratis
• Opensource • Relatif mudah digunakan • Terdapat berbagai extension yang bisa digunakan seperti : Physics extension, Multitouch extention, Multiplayer dan bahkan AR extension. • Komunitas yang luas sehingga mudah mendapatkan informasi.
2.2.7 Kebudayaan dan Kebudayaan Indonesia Menurut Hasibuan (2008, p119-133) Kebudayaan telah ada dalam kosakata Indonesia jauh sebelum istilah itu dipakai di dunia Barat. “Budaya” disadur dari bahasa Sansekerta “Budhayah” yang merupakan bentuk jamak dari “budhi” yang berarti “budi” atau “akal”. Kebudayaan merupakan hasil karya akal atau pikir dan budi manusia dalam bentuk abstrak maupun konkret.
53
Kebudayaan Indonesia dibentuk melalui beberapa tahapan, dimulai dari kebudayaan Indonesia asli yang masih dipengaruhi oleh animisme dan dinamisme seperti contohnya di Bali yang masih menganutnya dan berlanjut pada masuknya beberapa kepercayaan dan corak agama di Indonesia yang menyebabkan keragaman serta banyaknya tempat ibadah hingga sampai pada zaman modern ini dimana berbagai kebudayaan barat serta timur, sudah masuk dan berasimilasi menjadi kebudayaan Indonesia yang baru, yang sekarang ini dijalani. Menurut Hasibuan (2008, p134-135) Kebudayaan Indonesia juga merupakan puncak-puncak kebudayaan daerah dimana daerah-daerah disini merupakan provinsi-provinsi yang ada di Indonesia. Puncak kebudayaan berarti hasil karya daerah setempat yang dikenal oleh masyarakat luas dan menjadi ciri khas daerah tersebut seperti contohnya batik dari pulau Jawa, pencak silat dari Jakarta, serta keberagaman budaya daerah lain. Semua puncak kebudayaan tersebut turut berperan dalam membentuk “Kebudayaan Indonesia” yang solid dan kokoh. Selain itu setiap keragaman budaya tersebut membuat Negara Indonesia menjadi berbeda namun tetap satu karena setiap ragam budaya tersebut tergabung dalam negeri ini Indonesia dan menjadi identitas rakyat Indonesia.