Persiapan Sistem LANDASAN TEORI

2. Services, service adalah komponen yang berjalan di belakang untuk menjalankan operasi yang panjang dan menjalankan kerja proses remote. Service tidak menyediakan antarmuka bagi pengguna. Sebagai contoh bagaimana sebuah aplikasi pemutar musik dapat berjalan di belakang saat pengguna sedang membuka aplikasi lain. Komponen lain seperti activity dapat memulai service, membiarkannya bekerja atau mengikatnya untuk berinteraksi. 3. Content providers, content provider mengatur pembagian data antar aplikasi. Lewat content provider, aplikasi lain dapat membaca ataupun dapat memodifikasi jika diizinkan data dari aplikasi lain. Contohnya adalah bagaimana aplikasi chat seperti WhatsApp dapat membaca data kontak phonebook perangkat Android dimana dia dipasang. 4. Broadcast receivers, broadcast receiver adalah komponen yang merespon seluruh pengumuman siaran dari sistem. Banyak siaran berasal dari sistem, contohnya siaran yang mengumumkan bahwa layar telah mati atau baterai rendah. Aplikasi juga dapat melakukan siaran seperti misalnya mengumumkan bahwa aplikasi telah selesai melakukan download data dan tersedia untuk digunakan aplikasi lain. Meskipun broadcast receiver tidak memiliki antarmuka tetapi bisa saja komponen ini membuat notfikasi di status bar untuk memperingati pengguna Fikri, 2012.

2.6. Persiapan Sistem

Penerapan aturan ditulis pada manifest aplikasi dengan menggunakan XML. Aturan- aturan tersebut antara lain : 1. Orientasi layar yang digunakan adalah orientasi landscape. activity android:screenOrientation=landscape 2. Pengizinan penulisan data ke kartu memori. uses-permission android:name=android.permission.WRITE_EXTERNAL_STORAGE 3. Pengizinan agar layar tetap menyala selama permainan. uses-permission android:name=android.permission.WAKE_LOCK Universitas Sumatera Utara 2.6.1. Framework Permainan Android Framework atau kerangka kerja adalah kumpulan fungsi, kelas dan aturan yang dibuat untuk mempercepat pembuatan aplikasi. Penggunaan framework dapat membantu dalam penghematan jumlah baris kode karena penulis tidak perlu menulis fungsi yang sama berulang-ulang. 2.6.1.1. Framework Dasar Permainan Setiap permainan memerlukan beberapa framework yang digunakan untuk membantu komunikasi dengan system operasi yang mendasari. Framework dasar yang digunakan terbagi atas lima modul yaitu : 1. Window management : Bertanggung jawab dalam pengaturan jendela pada aplikasi. Pengaturan berupa pembuatan creating, penutupan closing, pengistirahatan pause dan pelanjutan resume. 2. Input : sebagai pengatur media masukan pengguna. Masukan dapat berupa sentuh layar, keyboard, ataupun pembacaan accelerometer. 3. File IO : Memperbolehkan programmer mendapatkan informasi untuk program dari media penyimpanan. 4. Graphics : sebuah modul kompleks yang bertanggung jawab dalam pemuatan grafis dan menepatkannya di layar. 5. Audio : Bertanggung jawab dalam pemuatan segala hal yang berbunyi. 6. Game framework : Modul terakhir mengikat semua modul menjadi satu kesatuan agar dapat dengan mudah digunakan. Framework dibuat dengan menulis kode pada interface dan disimpan dalam paket kode yang diberi nama framework. Interface yang ditulis adalah Screen.java, Input.java, FileIO.java, Graphics.java, Audio.java, Music.java, Sound.java dan Pixmap.java. Modul terakhir yang merupakan penggabungan kelima modul dibuat dalam interface Game.java. Dengan mengabaikan pause dan resume dari modul window management, berikut ini adalah pseudocode modul ke-6 yaitu game framework. createWindowAndUIComponent; Input input = new Input; Universitas Sumatera Utara Graphics graphics = new Graphics; Audio audio = new Audio; Screen currentScreen = new MainMenu; Float lastFrameTime = currentTime; WhileuserQuit{ Float deltaTime = currentTime – lastFrameTime; lastFrameTime = currentTime; currentScreen.updateStateinput, deltaTime; currentScreen.presentgraphics, audio, deltaTime; } cleanupResources; 2.6.1.2. Implementasi Dasar Framework Implementasi framework permainan merupakan langkah penerapan interface dari framework dasar. Penerapan dibuat dengan menulis kode pada kelas-kelas yang disimpan pada framework.impl, kecuali kelas Pool.java disimpan pada paket framework. Berikut ini adalah kelas-kelas yang dibuat dengan penjelasan singkatnya. 1. Kelas AndroidFileIO, berisi tiga buah method yaitu InputStream aset, InputStream file dari penyimpanan eksternal dan OutputStream file ke penyimpanan eksternal. 2. Kelas AndroidAudio, sebagai tempat deklarasi file audio yang akan dipakai. File audio dibedakan menjadi dua yaitu sound dan music. 3. Kelas AndroidSound, method yang ada pada kelas ini adalah method untuk memutar file audioplay dan membuangnyadispose. 4. Kelas AndroidMusic, berbeda dengan AndroidSound kelas AndroidMusic lebih kompleks dalam menangani file audio. Method yang ada antara lain play, stop, pause, setLooping, setVolume, isPlaying, isStopped, isLooping dan dispose. 5. Kelas AccelerometerHandler, untuk penanganan masukan berasal dari accelerometer. 6. Kelas Pool, sebagai media pengumpul sampah media inputan keyboard dan touchscreen. 7. Kelas KeyboardHandler, untuk penanganan masukan yang berasal dari keyboard. 8. Interface TouchHandler, dibuat karena Android memiliki dua jenis Touch Handler. Yang pertama adalah single touch handler dan yang kedua adalah Universitas Sumatera Utara multi touch handlermulai API 5. Interface ini sebagai media tampilan kelas SingleTouchHandler dan kelas MultiTouchHandler. 9. Kelas SingleTouchHandler, untuk penanganan masukan yang berasal dari layar sentuhuntuk platform 1.6 kebawah. 10. Kelas MultiTouchHandler, untuk penanganan masukan yang berasal dari layar sentuhuntuk platform 2.0 keatas karena telah mendukung multi touch. 11. Kelas AndroidInput, bertanggung jawab untuk mengikat ketiga penanganan media masukan perangkat Android. Media masukkannya adalah accelerometer, keyboard dan touchscreen. 12. Kelas AndroidPixmap, adalah kelas tempat mendapatkan informasi mengenai PixmapBitmap asset. 13. Kelas AndroidGraphics, bertujuan sebagai media menggambar. Method- method untuk menggambar pada kelas ini antara lain adalah drawPixel, drawLine, drawRect dan drawPixmap. 14. AndroidFastRenderView, untuk menjalankan thread pada java. 15. Kelas AndroidGame, kelas yang berguna untuk menggabungkan keseluruhan modul. Kelas AndroidGame merupakan implementasi interface Game.java.

2.7. Penelitian Terdahulu