7 BAB 2 LANDASAN TEORI 2.1 2.1.1 Game Sejarah Game Manusia telah mengenal dan memainkan game sejak zaman dahulu. Di Sahara ditemukan sebuah papan permainan terbuat dari batu yang berusia ± 5000 tahun. Menurut David Fox dan Roman Verhosek (2002, p1), permainan Go, yang populer di negara–negara oriental, telah ada sejak 2000 B.C.. Bahkan permainan mirip Backgamon (Tabula, Nard) dicatat pada script romawi kuno. Memasuki zaman modern, jenis permainan (game) pun memasuki era baru. Permainan–permainan seperti Pong, Zork, dan lain–lain muncul di komputer dan digemari oleh orang banyak. Game Arcade, yang dipelopori hits seperti Pac-man, berhasil menjaring jutaan pemain. Tidak mau kalah dengan Arcade, Console systems seperti Magnavox Odyssey, Atari 2006, Mattel Intellvision dan Calleco Vision menciptakan game yang bisa dimainkan di rumah. Seiring dengan itu, pada tahun 1985 Nintendo Entertainment System (NES) menghebohkan orang–orang dengan grafik dan gameworld yang luar biasa lewat Super Mario Brothers. Pada perkembangannya, computer gaming menjadi semakin diterima dan populer melalui beberapa bestseller seperti : Doom, Quake dan Tomb Rider. Clearly ultra realistic 3D merupakan kunci suksesnya game tersebut. 8 Pada akhir 90-an dan awal 2000-an, dengan berkembangnya game seperti : Ultima Online, Ragnarok Online dan Everquest menyadarkan kita bahwa game tidak hanya menarik dengan grafik yang bagus, namun juga dengan kehadiran pemain lain (multiplayer). Sementara multiplayer game terus berkembang, muncul paradigma baru dalam dunia informasi. Dengan banyaknya penggunan handphone, game turut berkembang dan mendukung pesatnya pemasaran micro device tersebut. Walaupun grafik yang dapat didukung tidak sebanding dengan console, handphone menawarkan kepraktisan yang tidak bisa diberikan oleh console(David Fox dan Roman Verhosek, 2002, pp1-2). 2.1.2 Game Mobile Pengembangan global dari game mobile dipelopori oleh game i-Mode. I-Mode merupakan layanan Internet wireless yang sangat popular di Jepang juga di negara lain. Do Communications Over the Mobile Network (DoCoMo) adalah yang pertama kali memperkenalkan Java dan game pada handphone(Anonymous A). Jepang merupakan negara pertama yang memperkenalkan warna layar dan grafik 3-Dimensi (3D) untuk hanphone, yang mana sangat penting dalam perluasan penjualan game mobile diluar game–game mobile yang sangat sederhana. 9 Game mobile adalah suatu game komputer yang dimainkan di handphone, smartphone, PDA, atau handheld. Game mobile bahkan dapat dimainkan dengan mengunakan teknologi komunikasi yang ada pada alatnya sendiri, contohnya pesan teks (SMS), pesan multimedia (MMS) atau pengidentifikasian GPRS(Anonymous B). 2.1.3 Role-Playing Game (RPG) Role-Playing Game (RPG) merupakan salah satu dari beragam genre game yang ada saat ini. Karakteristik dari game ber-genre ini adalah memberikan kesempatan bagi pemain untuk lebih jauh berperan dalam game. RPG adalah sebuah permainan di mana para pemain memainkan peran tokoh– tokoh khayalan. Game dengan jenis ini biasanya lebih digemari oleh remaja pria yang memiliki intelegensia tinggi. Dalam permainan RPG, jarang ada yang kalah atau menang. Ini membuat permainan RPG berbeda dari jenis permainan lainnya seperti monopoli atau ular tangga, permainan kartu, olah raga dan permainan lainnya. Dalam RPG, karakter memiliki atribut yang bervariasi seperti hit points, Strength, Magic, Item, equipment, dan lain-lain. Atribut–atribut tersebut diperlihatkan untuk pemain pada suatu layar status dan diwakili dengan nilai numeric, malah beberapa game menggambarkan atribut–atribut tersebut dalam bentuk graphical seperti status bar dan sejenisnya. 10 Gambar 2.1 Contoh Layar Status Yang Menunjukkan Atribut-Atribut Pemain (Final Fantasy VIII,1999) Selanjutnya pemain dapat mengembangkan karakter–karakternya dengan meningkatkan atribut–atribut yang dimilikinya. Peningkatan tersebut diperoleh sebagai reward dari pemenuhan suatu goal atau tantangan tertentu. Kondisi–kondisi yang dibutuhkan untuk memperoleh reward tersebut juga bervariasi, ada game yang berfokus pada ”pembantaian” musuh, namun ada juga yang memberi reward berdasar pada penyelesaian quest. Saat ini ada dua sistem yang umum dipakai untuk memberi reward yaitu : experience system (level-based system), training system (skill-based system). Experience system merupakan sistem yang masih umum digunakan. Sistem ini diwariskan dari RPG tradisional. Pada sistem ini karakter memperoleh experience points melalui suatu pemenuhan goal yang kemudian 11 digunakan untuk meningkatkan skill. Training system diperkenalkan pertama kali dalam game Dungeon Master. Pada sistem ini skill karakter ditingkatkan dengan sesering mungkin menggunakannya. Misalnya semakin sering karakter menggunakan magic maka kekuatan magic-nya semakin terasah. Kedua sistem ini memiliki kelebihan dan kekurangan masing-masing. Experience system menawarkan fleksibilitas dan pemerataan dalam pengembangan karakter, namun tidak realistis, dan sebaliknya pada training system(Anonymous C). 2.2 2.2.1 Java Sejarah Java Bahasa pemograman Java pertama, yang dinamakan juga dengan Oak, lahir dari The Green Project, yang berjalan mulai awal tahun 1991 hingga musim panas 1992(Anonymous D). Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy berserta sembilan programmer lainnya dari Sun Microsystems. Proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang diperuntukkan sebagai pengkontrol sebuah peralatan dengan teknologi touch screen, seperti pada PDA sekarang ini. Teknologi baru ini dinamakan Star Seven (*7). Era setelah Star Seven selesai, sebuah anak perusahaan TV kabel bekerjasama dengan beberapa orang dari The Green Project. Dalam rentang waktu yang singkat ditetapkan bahwa Internet merupakan medium yang menjebatani kerja dan ide diantara mereka. Mereka menjadikan webbrowser 12 Mosaic, sebagai landasan awal untuk membuat Java browser pertama yang dinamakan ”Web Runner”. Perkembangan release pertama, Web Runner berganti nama menjadi Hot Java. Kesuksesan mereka diikuti dengan untuk pertama kali diberitakan dalam surat kabar Sun Jose Mercury News pada tanggal 23 Mei 1995. Sayangnya terjadi perpecahan diantara mereka, tiga dari pimpinan utama proyek Eric Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen membentuk Netscape. Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja ”bapak Java”, James Gosling. Nama oak ini tidak dipakai untuk versi release Java karena sudah terdaftar software dengan merek dagang itu, sehingga diambil nama penggantinya menjadi ”Java”, diambil dari nama kopi tubruk kesukaan bapak Gosling. 2.2.2 Java 2 Standard Edition (J2SE) Menurut M. Shalahuddin dan Rosa A.S. (2006, p4), Java 2 Standard Edition (J2SE) adalah inti dari bahasa pemograman Java. Java Development Kit (JDK) adalah salah satu tool dari J2SE untuk mengkompilasi dan menjalankan program Java. Di dalamnya terdapat tool untuk mengkompilasi program Java dan JRE. 13 2.2.3 2.2.3.1 Java 2 Micro Edition (J2ME) Pengertian J2ME Java 2 Micro Edition (J2ME) adalah lingkungan pengembangan yang didesain untuk meletakkan perangkat lunak Java pada barang elektronik beserta perangkat pendukungnya. J2ME membawa Java ke dunia informasi, komunikasi dan perangkat komputasi selain perangkat komputer desktop, yang biasanya lebih kecil. J2ME bisa digunakan pada handphone, peger, Personal Digital Assistants (PDA) dan sejenisnya(M. Shalahuddin dan Rosa A.S., 2006, p5). 2.2.3.2 Arsitektur J2ME Menurut James Keogh, arsitektur J2ME terdiri dari 3 lapisan perangkat lunak (Gambar 2.2), yaitu : Gambar 2.2 Lapisan Dari Arsitektur J2ME (James Keogh, 2003, p6) 14 2.2.3.2.1 Konfigurasi J2ME Lapisan pertama adalah lapisan konfigurasi. Lapisan ini mengandung Java Virtual Machine (JVM), yang secara langsung saling berhubungan dengan sistem operasi. Lapisan ini juga menangani interaksi antara profile dan JVM. Konfigurasi mendefinisikan minimum Java libraries dan kapabilitas yang dipunyai oleh para developer J2ME. Artinya antara mobile device yang Java enabled maka akan ditemui konfigurasi yang sama. Bila dianalogikan dengan sekelompok mobil, maka sebuah mobil dengan mobil lainnya memiliki kesamaan, misalnya mempunyai roda, kaca spion, dan lain–lain. Roda dan kaca spion itulah yang disebut sebagai konfigurasi(Faisal Wiryasantika, 2003, p2). Jadi konfigurasi hanyalah mengatur hal–hal yang berkaitan dengan “kesamaan“, bukan mengatur hal–hal yang “membedakan“, sehingga konfigurasi memastikan portabilitas antar device. Menurut Faisal Wiryasantika (2003,p3), perkembangan konfigurasi ditentukan oleh Java Community Process (JCP), inilah badan non-profit yang berkutat dengan perkembangan teknologi java. Saat ini telah didefinisikan 2 konfigurasi yaitu connected device configuration (CDC) dan connected limited device configuration (CLDC). 15 2.2.3.2.1.1 Connected Device Configuration (CDC) Connected Device Configuration (CDC) bertujuan untuk mangaplikasikan kemampuan-kemampuan utama dari tiap-tiap jenis device, dimana target CDC tersebut adalah memiliki minimal memori 2MB termasuk RAM dan ROM. CDC menspesifikasikan penggunaan Java 2 Platform Virtual Machine secara penuh dan disebut juga Compact Virtual Machine (CVM). Walaupun CVM mendukung fitur yang sama seperti J2SE Virtual Machine, CVM dirancang untuk konsumen dan embedded device. Ini berarti bahwa J2SE Virtual Machine telah dikembangkan ulang untuk disesuaikan dengan batasan-batasan dari device yang memiliki resource terbatas(Vartan Piroumian, 2002, p3). 2.2.3.2.1.2 Connected Limited Device Configuration (CLDC) Tujuan dari Connected Limited Device Configuration (CLDC) adalah untuk menggambarkan suatu platform Java standar untuk device dengan spesifikasi memori 160KB. Karena variasi sistem perangkat lunak yang luas pada berbagai personal device, CLDC membuat asumsi minimum tentang lingkungan dimana CLDC berada. Sebagai contoh, sebuah OS mungkin akan mendukung berbagai proses secara bersamaan, yang lainnya mungkin atau mungkin tidak mendukung sistem file(Vartan Piroumian, 2002, p7). 16 Gambar 2.3 Hubungan Antara J2SE, CDC dan CLDC (Vartan Piroumian, 2002, p8) Dari gambar di atas(Gambar 2.3) kita dapat melihat dan mengetahui bahwa CLDC merupakan subset dari CDC. Kita juga dapat mengetahui bahwa CDC dan CLDC merupakan subset dari platform J2SE. 2.2.3.2.2 Profile J2ME Lapisan kedua adalah lapisan profile. Terdiri dari sekumpulan kecil Application Programming Interfaces (API). Profile merupakan kebalikan dari konfigurasi, yaitu mengatur hal–hal yang spesifik untuk sebuah device. Kembali pada analogi mobil, sebuah mobil BMW tentu memiliki ciri spesifik yang tidak dimiliki oleh mobil Mercedes. Profile terdiri dari class–class Java yang menyediakan implementasi dari fitur–fitur untuk small computing device. Saat ini terdapat 7 profile dalam J2ME, yaitu(James Keogh, 2003, pp13-14) : 17 1. Foundation Profile Foundation Profile digunakan dengan konfigurasi CDC dan merupakan inti untuk hampir semua profile yang menggunakan konfigurasi CDC karena Foundation Profile mengandung class–class dasar Java. 2. Game Profile Game Profile digunakan dengan konfigurasi CDC dan mengandung class–class penting untuk pengembangan aplikasi game untuk semua small computing device yang menggunakan konfigurasi CDC. 3. Mobile Information Device Profile (MIDP) Mobile Information Device Profile (MIDP) digunakan dengan konfigurasi CLDC dan mengandung class–class yang menyediakan tampat penyimpanan lokal, user interface dan kapabilitas jaringan untuk aplikasi yang berjalan pada mobile computing device seperti Palm OS device. MIDP digunakan dengan wireless aplikasi Java. 4. Personal Digital Assistants (PDA) Profile PDA Profile digunakan dengan konfigurasi CLDC dan mengandung class–class yang menggunakan sumber daya sophisticated yang terdapat pada PDA. Fitur ini mengandung display yang lebih baik dan memori yang lebih besar dibandingkan sumber daya yang sama yang terdapat pada MIDP mobile device. 18 5. Personal Profile Personal Profile digunakan dengan konfigurasi CDC dan foundation profile dan mengandung class–class untuk implementasi user interface yang kompleks. Foundation profile menyediakan class–class dasar dan personal profile menyediakan class–class untuk implementasi user interface yang teruji. 6. Personal Basic Profile Personal basic profile serupa dengan personal profile yaitu digunakan dengan konfigurasi CDC dan foundation profile. Personal basic profile menyediakan class–class untuk implementasi user interface yang sederhana, yaitu user interface yang mampu untuk menampilkan sebuah window pada waktu yang sama. 7. RMI Profile RMI profile digunakan dengan konfigurasi CDC dan foundation profile untuk menyediakan class remote method invocation untuk class–class dasar yang dimiliki foundation profile. 2.2.3.2.3 Mobile Information Device Profile (MIDP) Lapisan ketiga adalah Mobile Information Device Profile (MIDP). Lapisan MIDP mengandung Java API untuk koneksi jaringan pemakai dan 19 sebagai penghubung antar pemakai. Lapisan ini juga mampu mengakses ke libraries CLDC dan libraries MIDP(James Keogh, 2003, p36). 2.2.4 Java 2 Enterprise Edition (J2EE) J2EE adalah kombinasi dari beberapa teknologi yang menawarkan suatu keterpaduan untuk menyatukan sistem di sisi server. Berikut ini adalah beberapa fungsi dari J2EE, yaitu(Anonymous E) : 1. Mendukung HTML, baik sebagai Java Applet maupun sebagai aplikasi, yang disokong oleh Java Server Page dan kode Servlet untuk membentuk HTML dan data terformat lainnya untuk client. 2. Servlet merupakan sebuah program sederhana yang berjalan di server. Istilah servlet juga ditujukan untuk aplikasi yang berjalan di dalam lingkungan Web Server, yang dapat disamakan dengan Java Applet yang berjalan di dalam lingkungan Web Browser. 3. Enterprise JavaBeans (EJBs) EJB server dapat berfungsi sebagai keamanan dan manajemen memori. 4. Java Database Connectivity (JDBC) JDBC adalah interface untuk database Java. 5. Java Servlet API Java Servlet API dapat meningkatkan konsistensi para pengembang tanpa memerlukan grafis interface pemakai. 20 2.3 Grafik dan Sprite Salah satu elemen grafik yang penting dalam game adalah sprite. Menurut Martin Wells (2004, p271), sprite merupakan kumpulan image yang mewakili berbagai states dalam kesatuan graphikal. Pengertian secara teratur beberapa sprite akan menghasilkan suatu animasi. Objek bergerak yang sering kita lihat dalam game, misalnya pemain bola pada game Winning Eleven, atau karakter game lainnya merupakan contoh dari sprite. Gambar 2.4 Contoh Sprite Pada Game Suikoden II (Suikoden II, 1999) Dalam MIDP, semua image yang digunakan untuk grafik ber-format PNG. Begitu juga image yang dibuat sprite. PNG merupakan format kompresi yang menggunakan 24–bit color palette. File PNG yang disimpan akan mencatat data–data berupa : header dan data part. Oleh karena data header membutuhkan space yang besar, maka semakin banyak file yang digunakan semakin besar pula 21 space yang perlu dialokasi. Karena hampir semua image menggunakan color pelette (data yang disimpan header) yang sama, maka untuk menghemat space, semua frame sprite ditempatkan dalam sebuah filmstrip yang menggunakan satu header saja(David Fox dan Roman Verhosek, 2002, p228). Gambar 2.5 Gambaran Penyimpanan File PNG (Martin J. Wells, 2004, p272) Gambar 2.6 Contoh Filmstrip (Anonymous F) 22 2.4 Entity Relationship Diagram (ERD) Entity Relationship Diagram mengandung informasi-informasi (ERD) mengenai merupakan arsitektur diagram yang dari relational database(Anonymous G). Karena itu ERD dipakai untuk memahami struktur dari suatu database. ERD sendiri tidak dapat menjelaskan mengenai aliran data atau segala sesuatu yang berhubungan dengan bagaimana suatu data berubah. Walau begitu, meng-explore ERD merupakan langkah awal dalam memahami database design. Ada 2 komponen utama dalam ERD yaitu entity dan relationship. 2.4.1 Entity Entity digambarkan sebagai tabel-tabel dengan baris dan kolom. Masing-masing kolom memiliki nama dan mengandung tipe informasi tertentu, sedangkan baris-baris mengandung instance khusus yang menggambarkan apa yang diwakili oleh data tersebut. Tabel ini sendiri harus memiliki nama yang menggambarkan apa yang di tunjukkannya. 2.4.2 Relationship Relationship digambarkan dengan garis yang menghubungkan 2 tabel/entity. Setiap garis menjelaskan relationship ke semua arah. Untuk menghubungkan 2 tabel, maka dibutuhkan connector yang berupa key. Key yang umumnya digunakan adalah primary key dan foreign key. Primary key merupakan key unik yang digunakan untuk mengidentifikasi suatu baris dalam tabel. Sedangkan foreign key digunakan sebagai penunjuk ke tabel lain dengan tujuan untuk menghubungkan tabel-tabel bersangkutan. 23 2.5 Jenis-Jenis Koneksi Terdapat beberapa jenis koneksi, yaitu(Forum Nokia, 2003, pp8-13) : 1. Sharing by phone Game dimainkan oleh lebih dari satu orang dengan menggunakan sebuah handphone. Konsekuensinya pemain–pemain terebut harus bergantian dalam menggunakan handphone. Contoh game yang menggunakan sistem ini : Battle Ship pada Sony Ericson T100. 2. Hypertext Transfer Protocol (HTTP) HTTP didukung oleh semua handphone MIDP. HTTP pendukung yang bertugas dalam MIDP adalah HTTP pendukung client. Ini berarti bahwa MIDlet bertindak seperti Web browser. HTTP request akan dikirim ke HTTP server, dan diterima kembali sebagai HTTP response. Pengembang MIDlet kadang–kadang membuat kesalahan pada corak yang disertakan dalam implementasi HTTP Internet, dimana biasanya tidak dapat bekerja pada jaringan mobile : 1. HTTP streaming Karena implementasi HTTP Internet dibangun di atas protokol TCP, implementasi HTTP Internet dapat memperoleh keuntungan dan menulis berulang–ulang dari aliran data melalui HTTP. Bagaimanapun, jaringan mobile dapat menggunakan implementasi non-TCP (contohnya WAP), dan implementasi ini tidak menggunakan streaming. 24 2. Delayed Responses Langkah yang kadang dicoba oleh pengembang MIDlet sewaktu mereka menemukan bahwa HTTP streaming tidak dapat berfungsi adalah menunda pengiriman HTTP response dari server sampai terjadi beberapa event (contohnya : pemain lain berjalan). 3. Multiple HTTP Connections Handphone sering tidak mempunyai sumber daya untuk mendukung koneksi HTTP secara yang banyak dibuka, yang sering memakan banyak resource. HTTP server tidak memiliki cara untuk memulai koneksi ke HTTP client. Gambar 2.7 Jaringan MIDP HTTP (Forum Nokia, 2003, p8) 3. Secure HTTP (HTTPS) HTTPS merupakan Secure HTTP. HTTPS digunakan oleh Internet electronic commerce services dan harus didukung oleh implementasi MIDP 2.0. 25 4. Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) adalah salah satu pokok dari protocol Internet. TCP merupkan protokol yang reliable, dan berorientasi pada koneksi, yang artinya : 1. Data yang dikirim selalu diterima sekali, di order yang tepat, dan bebas dari error. 2. Koneksi dibangun di antara 2 mesin komunikasi dan terjaga selama durasi dari komunikasi tersebut. Kita dapat menganalogikan koneksi TCP seperti percakapan telepon antara 2 mesin komunikasi. Pada Internet, HTTP biasanya diimplementasi menggunakan TCP. 5. User Datagram Protocol (UDP) User Datagram Protocol (UDP), protokol pokok lainnya dari Internet, UDP merupakan protokol yang tidak reliable, dan berorientasi paket, yang artinya : 1. Paket data yang dikirim mungkin diterima sekali, lebih dari sekali, tidak pernah, atau bahkan diterima di order yang salah. 2. Tidak ada koneksi antara mesin komunikasi. 26 6. Serial Cable Kegunaan dari serial cable adalah memungkinkan 2 orang memainkan permainan secara bersamaan, dengan catatan kedua pemain berada di tempat yang sama. Gambar 2.8 Komunikasi Dengan Serial Cable Antara Handphone (Forum Nokia, 2003, p11) 7. Infra-Red (IrDA) Kegunaan dari Infra-Red adalah sama dengan serial cable, yaitu memungkinkan 2 orang memainkan permainan secara bersamaan, dengan catatan kedua pemain berada di tempat yang sama. Bedanya Infra-Red menggunakan media infra merah dan masing–masing handphone harus saling berhadapan. Gambar 2.9 Komunikasi Infra-Red Antara Handphone (Forum Nokia, 2003, p11) 27 8. Bluetooth Bluetooth adalah teknologi radio jarak pendek yang dapat memungkinkan hingga 8 device untuk berkomunikasi secara bersama dalam jarak sekitar 10 meter. Gambar 2.10 Komunikasi Bluetooth Antara Handphone (Forum Nokia, 2003, p12) 9. Short Message Service (SMS) Short Message Service (SMS) adalah teknologi yang memungkinkan sebuah handphone untuk bertukaran pesan singkat dengan handphone lain atau dengan server komputer seperti server game. SMS dikenal dengan bentuk pesan teksnya, tapi ianya dapat digunakan juga untuk mengirim data biner seperti ring tone atau data game. 28 Gambar 2.11 Komunikasi SMS Antara Handphone Dan Server (Forum Nokia, 2003, p12) 10. Multimedia Messaging Service (MMS) Multimedia Messaging Service (MMS) adalah versi dari SMS yang diperbaharui yang memungkinkan pesan memiliki beberapa bagian, meliputi teks, gambar, suara dan video. MMS diimplementasikan dengan menggunakan kombinasi dari SMS dan HTTP. 2.6 Flowchart Findra Kartika Sari Dewi mendefinisikan flowchart sebagai representasi grafik dari langkah-langkah yang harus diikuti dalam menyelesaikan suatu permasalahan yang terdiri atas sekumpulan simbol, dimana masing-masing simbol merepresentasikan suatu kegiatan tertentu. Flowchart diawali dengan penerimaan input, pemrosesan input, dan diakhiri dengan penampilan output. 29 Berikut ini adalah simbol-simbol yang terdapat dalam flowchart, antara lain : 1. Simbol Terminator Simbol terminator digambarkan dengan bangun seperti Gambar 2.12. Terminator berfungsi untuk menandai awal dan akhir dari suatu flowchart. Simbol ini biasanya diberi label START untuk menandai awal dari flowchart dan label STOP untuk menandai akhir dari flowchart. Gambar 2.12 Simbol Terminator (Findra Kartika Sari Dewi, 2005, p5) 2. Simbol Proses Simbol proses digambarkan dengan bangun persegi panjang(Gambar 2.13). Simbol ini digunakan untuk melambangkan kegiatan pemrosesan input. 30 Gambar 2.13 Simbol Proses (Findra Kartika Sari Dewi, 2005, p3) 3. Simbol Percabangan Simbol percabangan digambarkan dengan bangun belah ketupat(Gambar 2.14). Simbol ini digunakan untuk pemeriksaan terhadap suatu kondisi. Dalam simbol ini akan dituliskan keadaan yang harus dipenuhi. Hasil dari pemeriksaan dalam simbol ini adalah YES atau NO. Jika pemeriksaan menghasilkan keadaaan benar, maka jalur yang harus dipilih adalah jalur yang berlabel YES, sedangkan jika pemeriksaan menghasilkan keadaan salah, maka jalur yang harus dipilih adalah yang berlabel NO. Gambar 2.14 Simbol Percabangan (Findra Kartika Sari Dewi, 2005, p4) 31 4. Simbol Input Simbol input digambarkan dengan bangun jajar genjang (Gambar 2.15). Simbol ini digunakan untuk melambangkan kegiatan penerimaan input. Gambar 2.15 Simbol Input (Findra Kartika Sari Dewi, 2005, p3) 5. Simbol Garis Alir Simbol garis alir digambarkan dengan anak panah(Gambar 2.16). Simbol ini digunakan untuk menghubungkan setiap langkah dalam flowchart dan menunjukkan kemana arah aliran diagram. Anak panah ini harus mempunyai arah dari kiri ke kanan atau dari atas ke bawah. Gambar 2.16 Simbol Garis Alir (Findra Kartika Sari Dewi, 2005, p4) 32 2.7 2.7.1 Unified Modelling Language (UML) Definisi Unified Modelling Language (UML) Unified Modelling Language (UML) adalah bahasa standar untuk menuliskan rancangan perangkat lunak(Anonymous H). UML digunakan untuk menggambarkan, mengembangkan, dan mendokumentasikan artifact dari sebuah sistem perangkat lunak. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi perangkat lunak, dimana aplikasi tersebut dapat berjalan pada perangkat keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemograman apapun. 2.7.2 Komponen–Komponen Unified Modelling Language (UML) Diagram UML dibagi dalam 2 kelompok besar yaitu Behavioral diagram dan Structural diagram. Behavioral diagram digunakan untuk menggambarkan, menunjukkan, mengembangkan, dan mendokumentasikan aspek–aspek dinamis dari suatu sistem. Behavioral diagram terdiri dari : 1. Use case diagram 2. Sequence diagram 3. Collaboration diagram 4. Statechart diagram 5. Activity diagram 33 Structural diagram digunakan untuk menggambarkan, menunjukkan, mengembangkan, dan mendokumentasikan aspek–aspek statis suatu sistem. Structural diagram terdiri dari : 1. Class diagram 2. Component diagram 3. Deplyoment diagram 2.7.2.1 Use Case Diagram Use Case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan–pekerjaan tertentu. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. 34 Gambar 2.17 Contoh Use Case Diagram (Anonymous H, p1) 2.7.2.2 Activity Diagram Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang 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. Aktivitas digambarkan dengan menggunakan segiempat dengan sudut membulat. 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. 35 Gambar 2.18 Contoh Activity Diagram (Anonymous H, p3) 2.7.2.3 Class Diagram Class 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 (metoda/fungsi). Class memiliki 3 area pokok, yakni Nama, Atribut, dan Metoda. Atribut dan Metoda dapat memiliki salah satu dari sifat berikut : 1. Private, tidak dapat dipanggil dari luar class yang bersangkutan. 2. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak– anak yang mewarisinya. 3. Public, dapat dipanggil oleh siapa saja. 36 Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda. Hubungan antar class dibedakan menjadi 4, yaitu : 1. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa 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 atribut dan metoda 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 yang di-passing dari suatu class kepada class lain. Gambar 2.19 Contoh Class Diagram (Anonymous H, p2) 37 2.7.2.4 Sequence Diagram Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri dari dimensi vertikal (waktu) dan dimensi horizontal (objek–objek yang terkait). Sequence diagram digunakan untuk menggambarkan skenario atau rangkaian langkah–langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. 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/metoda dari class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message. Gambar 2.20 Contoh Sequence Diagram (Anonymous H, p3)