BAB II TINJAUAN PUSTAKA
II.1. Sejarah Game Game, kata ini mungkin sudah tidak asing lagi. Permainan! Kata itulah yang sederhana untuk menguraikannya. Namun permainan seperti apa? Siapa yang memainkan dan apa hasil dari permainan itu? Game atau permainan dapat di klasifikasikan menjadi dua bagian besar Game fisik dan game elektronik. Game fisik mungkin sudah sering kita lakukan dalam kehidupan sehari-hari sewaktu masih anak-anak. Seperti lompat tali, petak umpet dan sebagainya. Permainan si sini adalah berhubungan dengam gerak fisik. Dan game elektronik merupakan fenomena yang menarik saat ini. Bahkan dapat dikatakan bahwa hamper semua kalangan menyukai game elektronik. Electronic game saat ini berkembang sangat pesat hingga berbagai konsol baru mulai bermunculan. Kapan dimulainya electronic game? Electronic game atau selanjutnya dapt disebut sebagai video game pertama sekali ditemukan oleh Thomas T. Goldsmith Jr. dan Estle Ray Mann. Penemuan ini dipatenkan pada Januari 1947. yang mendasari perkembangannya saat ini adalah ketika mereka menemukan CathodeRay Tube sebuah tabung vacum yang digunakan sebagai media untuk membuat simulasi kecepatan tembakan dan arah tembakan roket. Pada Februari 1951, Christopher Strachey memulai pengembangannya kea rah pemrograman yang mulai menggunakan memori dimana aplikasinya diterapkan untuk kebutuhan para
12
13
pilot. Dan penemuan baru terus berkembang hingga tahun 1959. namun era perkembangan konsol game di mulai setelah masa ini. 1. Generasi Pertama (1972-1977) Generasi pertama ini diawali dari ide Ralph Baer seorang teknisi televise. Dia memulai membuat game dua pemain sederhana yang bernama chese di mana 2 buah titik saling berkejaran. Generasi pertama ini merupakan awal interaktif game. Perkembangan penemuan Baer ini membuat beberapa penemu lain mulai ikut bergabung dengannya sehingga ditemukan sebuah mesin yang bernama Magnavox dan mulai dirilis pada tahun 1972. 2. Generasi Kedua (1976-1983) Generasi kedua ini sering juga disebut generasi konsol 8 bit. Di mana pemrograman video game dibuat lebih advance. Fairchild Channel F merupakan sebuah produk yang dirilis sekitar tahun 1976. Tahun 1977 ATARI memulai konsol baru dengan dasar CPU. Mereka menamakan produk ini Video Computer System (VCS) yang dikenal dengan ATARI 2600. Pada masa itu ATARI cukup dikenal dengan masyarakat dibandingkan dengan produk lainnya. Magnavox malah mulai dengan konsol base CPU pada tahun 1978 dengan produknya Odyssey 2. Di Amerika dan Kanada, Philips electronics, sebuah perusahaan yang cukup dikenal hingga saat ini, mulai memproduksikan Philips G7000 dan Interton VC 4000. Namun begitu banyak konsol baru yang muncul pada saat itu , ATARI tetap masih menjadi game bagi masyarakat dengan arcade game yang cukup dikenal Space Invaders. Walaupun dengan keterbatasan hardware memori yang sangat minim sekitar 2 kb-31 kb, namun perkembangannya cukup pesat.
14
3. Generasi Ketiga (1983-1992) Jika sebelumnya perkembangan game banyak dilakukan di Eropa dan amerika, pada generasi ini Jepang juga mulai merilis konsol barunya. Famicom dan berubah nama menjadi Nintendo. Nintendo Entertainment System (NES) mendominasi pasarnya hingga Amerika Utara. Selain NES, Sega Master System juga berkembang pesat di Eropa dan Brasil. Dan ATARI pun membuat produk barunya ATARI 7800. Pada akhir generasi ini, Nintendo meproduksi Game Boy yang cukup fenomenal hingga bertahan sampai 15 tahun lebih. Namun kompetisi konsol pada generasi ini tidak begitu banyak. Nintendoi dan Sega merupakan dua vendor besar pada saat itu. Pada generasi ini beberapa game legendaries mulai dibuat oleh para pengembang game untuk berbagai konsol seperti Super Mario Bros, Final Fantasy, The Legend of Zelda, Dragon Quest, Metroid, Mega Man, Metal Gear, Castlevania, Phantasy Star, dan Bomberman. 4. Generasi Keempat Sejarah generasi ini lebih dikenal dengan generasi 16 bit dimana pengembangannya dimulai sekitar Oktober 1987. Generasi awal PC yang dikembangkan Nippon Electric Company’s (NEC). Sega terkenal dengan Sonic The Hedgehog-nya dan Nintendo dengan Mario Bross. Pada masa ini muncul add on untuk konsol. Ketiga pabrik konsol ini berlomba untuk membuat beberapa periperali baru. Era catride mulai diganti dengan penggunaan CD. Beberapa game yang cukup dikenal saat itu seperti Metroid Zelda, Star Fox, Kirby, Dragon Quest, Final Fantasy, Seiken Densentsu (Secret of Mana, Donkey Kong, Street Fighter, Mortal Kombat, Sega an X.
15
5. Generasi Kelima (1993-2002) Konsol 64 bit mulai muncul pada era ini. Tidak banyak perubahan dari generasi sebelumnya. Pengembang konsol generasi keempat tetap eksis denga produk terbarunya. Grafis 3D mulai menjadi alas an untuk perang konsol ini. Para pengembang game lebih menyukai membuat game untuk konsol Nintendo dan produk Sony yang cukup terkenal, yaitu Playstation. Playstation, siapa yang tidak kenal dengan konsol ini. Bahkan benda ini sudah menjadi aksesoris dan gaya hidup para pecinta game, generasi ini cukup membuat Sony menjadi raja konsol dengan penjualan konsol terbanyak. 6. Generasi Keenam (1998-2006) Generasi 128 bit, teknologi semakin maju membuat beberapa konsol baru mulai muncul dan semuanya memiliki pasar tersendiri. Namun para pabrikan konsol generasi sebelumnya sampai sekarang masih ikut dalam perang konsol ini. Dengan kemajuan teknologi ini membuat pada era ini perkembangannya menjadi PC semakin cepat dibandingkan generasi sebelumnya. Kartu grafis yang mulai memiliki kecepatan tinggi sehingga membuat para pemain game dimanjakan. Pada generasi ini, beberapa produk muktahir mulai bermunculan, seperti Playstation 2 dari Sony, Sega’s Dreamcast, Xbox dari Microsoft, dan Nintendo dengan produk Game Cube-nya. 7. Generasi Ketujuh (2004) Pada masa ini beberapa pengembang konsol mulai fokus dengan pengembangan saja. Mulai tahun 2001 hanya beberapa perusahaan konsol yang masih bertahan dengan pengembangannya Nintendo, Sony, dan Microsoft. Di luar
16
itu, perusahaan konsol mulai membuat konsol yang lebih menarik. Beberapa konsol yang lebih menarik dengan fitur baru dan game-game baru yang menarik. Beberpa konsol baru yang ada di pasaran saat ini masih dibuat oleh perusahaan konsol generasi sebelumnya. Seperti Wii oleh Nintendo, Xbox 360 dari Microsoft dan Playstation 3 dari Sony. (Ivan; 2008: 9-17)
II.2. Anagram Anagram
yang
dalam
bahasa
Yunani
disebut
anagrammatismos
mempunyai arti ana- (up, again, back, new) dan gram (letter). Dalam bahasa Inggris, anagram sebagai kata benda mempunyai makna yaitu sebuah kata atau frase baru yang dibentuk dengan menyusun kembali huruf-huruf dari kata atau frase tersebut. Sebagai contoh dari kata Elvis menjadi Lives. Sedangkan anagram sebagai kata kerja bermakna yaitu untuk menyusun kembali huruf-huruf sedemikian rupa (http://wordsmith.org/anagram/def.html). Anagram adalah salah satu jenis permainan tebak kata. Objektif permainan anagram adalah menebak kata dengan huruf-huruf yang telah diacak. Huruf yang tersedia harus dipakai sebanyak jumlahnya. Contoh yang sederhana, pemain diberikan empat huruf ”upla”, maka pemain harus menebak kata menggunakan huruf ’u’, ’p’, ’l’, ’a’; dengan tiap huruf tepat sebanyak jumlahnya. Sehingga katakata yang bisa dibentuk adalah ”lupa”, ”palu”, ”pula”, ”luap”, dan seterusnya. Kata yang ditebak harus valid, valid dalam arti kata tersebut termasuk dalam suatu database yang ditentukan, misalnya terdapat dalam Kamus Besar Bahasa Indonesia. Semakin banyak tebakan kata yang benar nilainya semakin baik. (M. Ikhsan Assaat; 2007: 1)
17
II.3. Algoritma Apakah yang dimaksud dengan algoritma, algoritma berarti solusi. Ketika orang berbicara mengenai algoritma dibidang pemrograman, maka yang dimaksud adalah solusi dari suatu masalah yang harus dipecahkan dengan menggunakan komputer. Algoritma harus dibuat secara runut agar komputer mengerti dan mampu mengeksekusinya. Analisis kasus sangat dibutuhkan dalam membuat sebuah algoritma, misalnya proses apa saja yang sekiranya dibutuhkan untuk menyelesaikan masalah yang harus diselesaikan. Ketajaman dalam menganalisis sebuah kasus dapat dilatih dengan berlatih menyelesaikan kasus-kasus algoritma, mulai dari yang paling sederhana sampai rumit. Kesabaran sangat dibutuhkan dalam mempelajari algoritma. (Rosa M. Shalahuddin; 2010: 1) Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan algorist jika Anda menghitung menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga
18
akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma. (Rinaldi Munir; 2005: 4).
II.3.1. Ciri-Ciri Algoritma Donald E. Knuth, seorang penulis beberapa buku algoritma abad XX, menyatakan bahwa ada beberapa cirri algoritma yaitu: 1. Algoritma mempunyai awal dan akhir. Suatu algoritma harus berhenti setelah mengerjakan serangkaian tugas atau dengan kata lain suatu algoritma memiliki langkah yang terbatas. 2. Setiap langkah harus di definisikan dengan tepat sehingga tidak memiliki arti ganda (not ambiguous) 3. Memiliki masukkan (input) atau kondisi awal. 4. Memiliki keluaran (output) atau kondisi akhir. 5. Algoritma harus efektif; bila di ikuti benar-benar akan menyelesaikan persoalan.
II.3.2. Sifat Algoritma Berdasarkan ciri algoritma yang dipaparkan oleh Donald Knuth dan definisi alogritma maka dapat disimpulkan sifat utama suatu algoritma , yaitu sebagai berikut:
19
1. Input
: Suatu algoritma memiliki input atau kondisi awal sebelum algoritma dilaksanakan dan bias berupa nilainilai pengubah yang di ambil dari himpunan khusus.
2. Output
: Suatu algoritma akan menghasilkan output setelah dilaksanakan, atau algoritma akan mengubah kondisi awal menjadi kondisi akhir, dimana nilai output diperoleh dari nilai input yang telah diproses melalui algoritma.
3. Definiteness
: Langkah-langkah
yang
dituliskan
dalam
algoritma
terdefinisi dengan jelas sehingga mudah dilaksanakan oleh pengguna algoritma. 4. Effectiveness : Setiap langkah dalam algoritma bisa dilaksanakan dalam suatu selang waktu tertentu sehingga pada akhirnya memberi solusi sesuai yang diharapkan. (Drs Suarga; 2006: 1-3)
II.4. Algoritma Backtracking Algoritma backtracking pertama kali diperkenalkan oleh D.H. Lehmer pada tahun 1950. Dalam perkembangannya beberapa ahli seperti RJ Walker, Golomb, dan Baumert menyajikan uraian umum tentang backtracking dan penerapannya dalam berbagai persoalan dan aplikasi. Algoritma backtracking (runut balik) merupakan salah satu metode pemecahan masalah yang termasuk dalam strategi yang berbasis pencarian pada ruang status. Algoritma backtracking bekerja secara rekursif dan melakukan pencarian solusi persoalan secara
20
sistematis pada semua kemungkinan solusi yang ada. Runut-balik, yang merupakan perbaikan dari algoritma brute-force, secara sistematis mencari solusi persoalan di antara semua kemungkinan solusi yang ada. Oleh karena algoritma ini berbasis pada algoritma Depth-First Search (DFS), maka pencarian solusi dilakukan dengan menelusuri suatu struktur berbentuk pohon berakar secara preorder. Proses ini dicirikan dengan ekspansi simpul terdalam lebih dahulu sampai tidak ditemukan lagi suksesor dari suatu simpul. (Widya Wardani, dkk; 2007: 2)
II.4.1. Properti Umum Algoritma Backtracking (Runut Balik) 1. Solusi persoalan. Solusi dinyatakan sebagai vektor dengan n-tuple: X = (x1, x2, …, xn), xi himpunan berhingga Si . Mungkin saja S1 = S2 = … = Sn. Contoh: Si = {0, 1}, xi = 0 atau 1 2. Fungsi pembangkit nilai xk Dinyatakan sebagai: T(k) T(k) membangkitkan nilai untuk xk, yang merupakan komponen vektor solusi. 3. Fungsi pembatas (pada beberapa persoalan fungsi ini dinamakan fungsi kriteria) Dinyatakan sebagai B(x1, x2, …, xk)
21
Fungsi pembatas menentukan apakah (x1, x2, …, xk) mengarah ke solusi. Jika ya, maka pembangkitan nilai untuk xk+1 dilanjutkan, tetapi jika tidak, maka (x1, x2, …, xk) dibuang dan tidak dipertimbangkan lagi dalam pencarian solusi. (Rinaldi Munir; 2004: 2)
II.5. Microsoft Visual Basic 2008 Microsoft Visual Basic 2008 merupakan bagian dari kelompok bahasa pemrograman Visual Studio 2008 yang dikembangkan oleh Microsoft. Visual Studio 2008 terdiri dari beberapa bahasa pemrograman, diantaranya adalah Microsoft Visual Basic 2008, Microsoft C# 2008, Microsoft Visual C++ 2008, Microsoft Visual J#, dan Visual Web Developer 2008. Visual studio ini telah mengalami perubahan versi mulai dari Visual Studio 6.0, Visual Studio 2005, Visual Studio 2006, dan yang terakhir adalah Visual Studio 2008. Namun pada Visual Studio 2008, penulis tidak melihat satu bahasa pemrograman yang termasuk bagian dari Visual Studio, yaitu Microsoft Visual FoxPro. Microsoft Visual Basic 2008 setara dengan Microsoft Visual Basic 9.0 yang memiliki kelebihan-kelebihan, yaitu support dengan bahasa query Language-Integreted Query (LINQ) dan support dengan database Mirosoft SQL Server Compact 3.5. Selain itu, kelebihan lain adalah memiliki Object Relational Designer (O/R Designer) untuk membantu mengedit LINQ ke SQL yang akan dihubungkan dengan database dan fitur lain. (Hendrayudi; 2010: 1) Microsoft Visual Studio 2008 merupakan suatu perangkat lunak yang dapat digunakan untuk pengembangan berbagai macam aplikasi yang memiliki
22
berbagai macam tipe antara lain aplikasi desktop (windows form, command line (console)), aplikasi web, windows mobile (pocket PC). Microsoft Visual Studio 2008 diluncurkan Microsoft pada tanggal
19
November 2007, dan memiliki lebih dari satu compiler, SDK (Software Development Kid), dan dokumentasi tutorial (MSDN Library). Kompiler yang dimasukkan ke dalam paket Visual Studio 2008 antara lain Visual C++, Visual C#, Visual Basic, Visual InterDev, Visual J++, Visual J#, Visua FoxPro, dan Visual SourceSafe, dan kesemuanya ditujukan untuk platform .Net Framework 3.5. Visual Studio 2008 dapat digunakan untuk mengembangkan aplikasi dalam bentuk bahasa mesin yang berjalan di atas windows ataupun dalam bentuk Microsoft Intermediate Language di atas .Net Framework. Selain itu, Visual Studio 2008 juga dapat digunakan untuk mengembangkan aplikasi Silverlight, aplikasi Windows Mobile (yang berjalan di atas .Net Compact framework). (Muhammad Sadeli; 2009: 2)
II.5.1.
Menjalankan Aplikasi Menjalankan aplikasi Microsoft Visual Basic 2008 dapat dilakukan
melalui icon desktop dan melalui menu start. Untuk menjalankan aplikasi Microsoft Visual Basic 2008 dan membuat project baru melalui start adalah sebagai berikut. 1. Klik start, Klik all program, klik Microsoft Visual Basic 2008 maka akan tampil start page sebagai berikut.
23
Gambar II.1 Tampilan awal Microsoft Visual Basic 2008 Sumber : Muhammad Sadeli; 2009: 4 II.5.2. Memilih Project Visual Basic 2008 Pada Visual Basic 2008 terdapat banyak tipe project yang bisa dibuat antara lain Windows Form, Command Line) Web (ASP.Net 3.5), Smart Device (Pocket PC) Office (2003, 2007), Database (Access, SQL Server), Crystal Report), Test, WCF, Dan workflow. Berikut tampilan gambar.
Gambar II.2 Jendela New Project Visual Basic 2008 Sumber : Muhammad Sadeli; 2009: 5
24
1. Windows, adalah project yang sering digunakan untuk membangun aplikasiaplikasi desktop seperti (membuat aplikasi desktop, komponen ActiveX, file DLL dan lain sebagainya). Karena menggunakan interface windows baik command line ataupun windows form yang memiliki form dan control, yang terbaru dari di Visual Basic 2008 adalah WPF (Windows Presentation (Windows Web) XAML) yang memungkinkan suatu pekerjaan GUI (Grafic User Interface) dan kode untuk program dibuat secara terpisah. 2. Web, adalah project yang dapat digunakan untuk membuat aplikasi berbasiskan web menggunakan ASP.Net 3.5. 3. Smart Device, digunakan untuk membuat perangkat aplikasi pemrograman yang dapat diimplementasikan pada handphone tertentu seperti PDA (Personal Digital Assistant). Pemrograman Smart Device pada Visual Basic 2008 menggunakan .Net Compact Framework 3.5 dan berjalan di atas Windows CE (Compact Edition). 4. Office, adalah suatu project yang dapat menyediakan atau menjalankan atau memanggil aplikasi yang terdapat pada program Office (2003, 2007) seperti Excel, Word, PowerPoint, dan lain sebagainya. 5. Database, project ini berfungsi untuk mengatur, memanajemen, dan membangun database khususnya SQL Server, tapi tidak menutup kemungkinan Visual Basic 2008 dapat memanajemen database Access (2003, 2007).
25
6. Crystal Report, dalam pemrograman database project ini selalu digunakan untuk penyajian laporan berdasarkan data yang telah diolah dan dirancang di dalam database yang telah dibuat oleh programmer. 7. WCF (Windows Communication Foundation), satu lagi penyajian terbaru dari Visual Basic 2008 suatu pemrograman yang berorientasikan terhadap layanan (Service), sehingga tidak ada hambatan lagi mengenai perbedaan Flatform, dengan adanya teknologi ini aplikasi yang dibangun dengan software apapun dapat dihubungkan dengan aplikasi yang dibuat dengan software lain. II.5.3. Integrated Development Environment (IDE) Setelah memilih project selesai kemudian akan tampil bidang kerja Visual Basic 2008 seperti gambar di bawah ini.
Gambar II.3 Integrated Development Environment (IDE) Sumber : Muhammad Sadeli; 2009: 7
26
1. Menu bar Menu bar adalah suatu menu yang terdiri dari 11 menu utama, masingmasing memiliki sub menu dan perintah lengkap dengan shortkey. 2. Toolbar Standar Toolbar standar adalah suatu baris menu yang mempunyai fungsi yang sama pada setiap tool standard pada umumnya, seperti fungsi menyimpan, meng-copy, menambah project baru, mengatur tampian program dan masih banyak lagi. 3. Form Design Form Design adalah suatu lembar form yang berfungsi untuk merancang tampilan aplikasi secara visual dengan menempatkan kontrol-kontrol yang diperlukan. 4. Toolbox Toolbox adalah suatu jendela yang berfungsi untuk menampung komponen-komponen standard. 5. Solution Explorer Solution Explorer adalah suatu jendela yang berfungsi untuk menampilkan object yang kita gunakan untuk membuat aplikasi seperti : form, class, dan object lainnya. 6. Properties Windows Properties Windows adalah suatu jendela yang berfungsi untuk mengatur nilai properties dari masing-masing komponen yang akan digunakan.
27
7. Error List Error List adalah suatu jendela yang berfungsi untuk menampilkan setiap kesalahan-kesalahan
dari
pembuatan
kode
program
suatu
aplikasi.
(Muhammad Sadeli; 2009: 2-8)
II.6. Flowchart Flowchart adalah penyajian yang sistematis tentang proses dan logika dari kegiatan penanganan informasi atau penggambaran secara grafik dari langkahlangkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. System flowchart adalah urutan proses dalam system dengan menunjukkan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data. Program flowchart adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program.
II.6.1. Pedoman-Pedoman Dalam Membuat Flowchart Jika seorang analis dan programmer akan membuat flowchart, ada beberapa petunjuk yang harus diperhatikan, seperti : 1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke kanan.
28
2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya. 3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas. 4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja, misalkan melakukan penggandaan diri. 5. Setiap langkah dari aktivitas harus berada pada urutan yang benar. 6. Lingkup dan range dari aktifitas yang sedang digambarkan harus ditelusuri dengan hati-hati. Percabangan-percabangan yang memotong aktivitas yang sedang digambarkan tidak perlu digambarkan pada flowchart yang sama. Simbol konektor harus digunakan dan percabangannya diletakan pada halaman yang terpisah atau hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem. 7. Gunakan simbol-simbol flowchart yang standar. (Anharku ; 2009 : 1)
II.6.2. Simbol-Simbol Flowchart Tabel II.1 Simbol-Simbol Flowchart
29
Sumber : Anharku; 2009: 2
II.7. UML (Unified Modelling Language) Unified Modelling Language (UML) adalah sebuah bahasa yg telah menjadi
standar
dalam
industri
untuk
visualisasi,
merancang
dan
mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. 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 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 Visual Basic atau C. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan
30
bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 seperti kita ketahui puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah metodologi booch, metodologi coad, metodologi OOSE,, metodologi OMT, metodologi Shlaer-Mellor, metodologi Wirfs-Brock, dan sebagainya. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan group/perusahaan lain yang menggunakan metodologi yang berlainan. II.7.1. Bagian-Bagian UML (Unified Modelling Language) 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.
31
Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. 2. 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). 3. Statechart Diagram Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram). 4. Activity Diagram 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. 5. Sequence Diagram 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 atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).
32
6. Collaboration Diagram Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message. Setiap message memiliki sequence number, di mana message dari level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama. 7. Component Diagram Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya. Komponen piranti lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time, maupun run time. Umumnya komponen terbentuk dari beberapa class dan/atau package, tapi dapat juga dari komponen-komponen yang lebih kecil. Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain. 8. Deployment Diagram Deployment/physical
diagram
menggambarkan
detail
bagaimana
komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal. (Sri Darwayanti, dkk ; 2009 : 2-10)
33
II.7.2. Simbol-Simbol UMl (Unified Modeling Language) Tabel II.2 Simbol-simbol Use Case Diagram
Sumber: Hendy Hafid; 2009:1
Tabel II.3 Simbol-simbol Activity Diagram
34
Sumber : Hendy Hafid; 2009:2
35
Tabel II.4 Simbol-Simbol Sequence Diagram
Sumber : Hendy Hafid; 2009: 3