BAB 2 LANDASAN TEORI
2.1
Teori Umum 2.1.1 Internet Internet adalah sebuah jaringan komputer yang sangat besar yang terdiri dari jaringan-jaringan kecil yang saling terhubung yang menjangkau seluruh dunia. Internet yang banyak digunakan orang saat ini, bermula dari jaringan komputer yang dipergunakan oleh departemen pertahanan Amerika Serikat. Jaringan komputer tersebut dikenal dengan ARPANET, yang digunakan pada saat terjadinya perang dingin antara Amerika dengan Rusia. Selanjutnya ARPANET dikembangkan menjadi jaringan yang lebih luas lagi yang disebut internet. Perkembangan internet menjadi sangat pesat, karena banyak fasilitas yang ditawarkan seperti e-mail, USENET, newsgroup, file transfer, telnet, buletin board service, WWW, Internet Telephony dan Internet Fax. Cara kerja jaringan internet adalah dengan meminjam saluran telepon sebagai “kabel” yang menghubungkan satu komputer dengan komputer lainnya dan menggunakan modem untuk mengkonversikan gelombang telepon menjadi bahasa yang dimengerti komputer. Karena adanya penggunaan modem inilah, maka jaringan ini sering disebut sebagai dialup networking.
7
8
Agar dapat mengetahui komputer mana yang akan kita akses, maka masing-masing komputer tersebut diberi “alamat” yang disebut dengan internet address. Setiap alamat internet harus didaftarkan pada network information
center,
dimana
alamat
tersebut
harus
unik
dan
direpresentasikan dalam dua wujud, yaitu nama domainnya dan nomor IPnya. Internet memungkinkan suatu jaringan komunikasi global yang tidak hanya menghubungkan para mitra dagang tetapi juga mencakup para pelanggan. Internet juga membutuhkan kesamaan “bahasa” selain alamat agar tiap komputer yang terhubung dapat saling berkomunikasi. Untuk itu diciptakan protokol, yaitu sekumpulan aturan yang digunakan dalam berkomunikasi di internet. Menurut Kurniawan, ada beberapa jenis protokol aplikasi dalam internet yang dikenal, yaitu : a. File Transfer (FTP) Berdasarkan pendapat Oetomo, FTP adalah suatu protokol yang memungkinkan perusahaan dan konsumen berkomunikasi secara interaktif dengan komputer-komputer lain yang terhubung dalam internet itu. FTP menyediakan fasilitas penyalinan file secara elektronik dari satu komputer ke komputer lainnya di dalam internet. Berdasarkan pendapat McLeod, FTP adalah perangkat lunak yang memungkinkan kita menyalin file ke komputer kita dari Website mana saja.
9
b. Hypertext Transfer Protocol (HTTP) Protokol yang digunakan oleh Web server untuk mengirim dan menerima informasi. Bisa digunakan untuk mengirim dan menerima teks, grafik, gambar, suara, video, dan file multimedia lainnya. c. Gopher Protokol yang dikembangkan oleh Universitas Minnesota sebagai suatu
cara
untuk
mengambil
dokumen.
Selanjutnya,
Gopher
dimodifikasi menjadi sistem yang digerakkan oleh menu yang digunakan untuk mengambil file. d. Telnet Protokol ini digunakan untuk berhubungan dengan komputer lain di dalam internet.
2.1.2 Interaksi Manusia Komputer (IMK) Berikut ini beberapa pedoman yang harus diperhatikan sebelum merancang tampilan layar di internet : a. Cahaya dan warna Keberadaaan cahaya yang berlebihan dapat mengganggu seseorang dalam mengamati dan mengenali suatu obyek. Ada beberapa kemampuan warna, yaitu : i.
menambah aksen pada tampilan yang tidak atau kurang menarik,
ii.
menyejukkan atau menyakiti mata,
iii.
menekankan organisasi logis informasi,
iv.
menarik perhatian kepada peringatan,
10
v.
menimbulkan reaksi emosional yang kuat berupa sukacita, kegembiraan, ketakutan, atau kemarahan.
Pedoman penggunaan warna meliputi : i.
pembatasan jumlah warna,
ii.
penggunaan warna secara konservatif,
iii.
pengenalan kekuatan warna sebagai teknik pengkodean,
iv.
pemastian bahwa kode warna mendukung tugas,
v.
penampilan kode warna dengan usaha pemakai yang optimal,
vi.
penempatan kode warna di bawah kendali pemakai,
vii.
perancangan dengan monitor satu warna (monochrome) dulu,
viii.
penggunaan warna untuk membantu pemformatan,
ix.
penggunaan kode warna yang konsisten,
x.
pencermatan ekspresi umum tentang kode warna,
xi.
pencermatan masalah pemasangan warna,
xii.
kewaspadaan atas kehilangan resolusi pada tampilan warna,
xiii.
penggunaan perubahan warna untuk menunjukkan perubahan status,
xiv.
penggunaan warna pada tampilan grafis untuk kerapatan informasi yang lebih tinggi.
b. Gambar Gambar
memberikan
sesuatu
yang
hidup
serta
mampu
mengeksploitasi kemampuan media elektronik. Meskipun banyak halaman yang menggunakan hypertext, gambar dapat memperjelas informasi dan lebih menarik perhatian browser.
11
Menurut ACM SIGCHI (Association for Computing Machinery Special Interest Group in Computer Human Interaction), Interaksi Manusia dan Komputer (IMK) atau Human-Computer Interaction (HCI) adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomena-fenomena besar yang berhubungan dengannya. Delapan aturan emas dari perancangan antar-muka menurut Shneiderman : i.
Berusaha untuk tetap konsisten. Aturan ini paling sering dilanggar, tetapi hal ini rumit karena terdapat banyak bentuk konsistensi. Tindakan untuk tetap konsisten juga diperlukan dalam pembuatan menu, layar bantuan, prompt, konsistensi dalam hal warna, tampilan, penggunaan huruf besar, jenis dan ukuran huruf.
ii.
Memungkinkan pemakai dengan frekuensi tinggi menggunakan shortcuts. Jika frekuensi penggunaan meningkat, apakah pemakai mau mengurangi jumlah interaksi dan menambah jumlah langkah dari interaksi. Singkatan, kunci-kunci khusus, perintah tersembunyi, dan fasilitas makro dihargai dan banyak digunakan oleh pengguna atau pemakai dengan frekuensi tinggi. Waktu respon yang singkat dan tingkat menampilkan cepat adalah merupakan nilai lebih bagi pengguna atau pemakai dengan frekuensi tinggi.
12
iii.
Memberikan umpan balik yang informatif. Sistem harus memberikan umpan balik bagi semua tindakan pemakai. Respon harus sederhana bagi aksi yang kecil dan sering digunakan, sedangkan bagi aksi yang jarang dan besar memerlukan respon yang besar. Tampilan visual dari obyek menciptakan lingkungan yang nyaman untuk menunjukan perubahan secara eksplisit.
iv.
Merancang dialog yang memberikan penutupan atau keadaan akhir. Urutan dari aksi harus diorganisasikan ke dalam grup dalam fase awal, tengah dan akhir. Umpan balik yang informatif pada grup aksi-aksi memberikan kepuasan bagi pengguna, rasa lega, menghilangkan kemungkinan rencana dan pilihan dari pikiran pengguna, dan menyiapkan jalan menuju grup aksi berikutnya.
v.
Memberikan pencegahan
dan penanganan kesalahan yang
sederhana. Desain sistem sebaik mungkin tidak membiarkan pengguna membuat kesalahan yang serius. Jika pengguna membuat kesalahan, sistem akan mendeteksi kesalahan dan menawarkan perintah sederhana, konstruktif dan spesifik untuk pemulihan keadaan.
13
vi.
Memungkinkan pembalikan aksi yang mudah. Aksi harus dapat dibalikkan atau reverse. Fitur ini memberikan kepada pengguna bahwa kesalahan telah terjadi dan pengguna dapat kembali ke keadaan sebelumnya.
vii.
Mendukung pusat kendali internal. Pengguna menginginkan bahwa mereka berhak pada sistem dan sistem merespon atas aksi yang telah dilakukannya. Kebanyakan saat ini aksi dari sistem tidak sesuai dengan apa yang diharapkan karena sistem tidak dapat mendapatkan informasi yang diinginkan sehingga menimbulkan suatu kekecewaan pada pengguna.
viii.
Mengurangi beban ingatan jangka pendek Terbatasnya kemampuan ingatan manusia maka manusia memerlukan tampilan yang sederhana, tampilan beberapa halaman dapat digabungkan, tidak memerlukan pelatihan terusmenerus, frekuensi pergerakan jendela harus dikurangi.
2.1.3 World Wide Web (WWW) Sebuah website atau situs adalah sebutan bagi sekelompok halaman web, yang umumnya merupakan bagian dari suatu nama domain atau subdomain di World Wide Web di Internet. WWW terdiri dari seluruh website yang tersedia kepada publik. Halaman-halaman sebuah website diakses dari sebuah URL yang menjadi "akar" (root), yang disebut homepage (halaman induk) dan biasanya disimpan dalam server yang
14
sama. Tidak semua website dapat diakses dengan gratis. Beberapa website memerlukan pembayaran agar dapat menjadi pelanggan, misalnya situssitus yang menampilkan pornografi, situs-situs berita, layanan surat elektronik (e-mail), dan lain-lain. Terminologi website adalah kumpulan dari halaman-halaman situs, yang biasanya terangkum dalam sebuah domain atau subdomain, yang tempatnya berada didalam World Wide Web di internet. Sebuah halaman web adalah dokumen yang ditulis dalam format Hypertext Markup Language (HTML), yang hampir selalu bisa diakses melalui HTTP, yaitu protokol yang menyampaikan informasi dari server website untuk ditampilkan kepada para pemakai melalui web browser. Semua publikasi dari websites tersebut dapat membentuk sebuah jaringan informasi yang sangat besar. Halaman-halaman dari website akan bisa diakses melalui sebuah URL yang biasa disebut homepage. URL ini mengatur halaman-halaman situs untuk menjadi sebuah hirarki, meskipun, hyperlinks yang ada di halaman tersebut mengatur para pembaca dan memberitahu mereka sususan keseluruhan dan bagaimana arus informasi ini berjalan. Beberapa website membutuhkan subskripsi (data masukan) agar para pengguna bisa mengakses sebagian atau keseluruhan isi website tersebut. Contohnya, ada beberapa situs-situs bisnis, situs-situs e-mail gratisan, yang membutuhkan subkripsi agar kita bisa mengakses situs tersebut. Penemu website adalah Sir Timothy John ¨Tim¨ Berners-Lee, sedangkan website yang tersambung dengan jaringan, pertama kali muncul pada tahun
15
1991. Maksud dari Tim ketika membuat website adalah untuk mempermudah tukar menukar dan memperbarui informasi kepada sesama peneliti di tempat dia bekerja. Pada tanggal 30 April 1993, CERN, tempat dimana Tim bekerja, menginformasikan bahwa WWW dapat digunakan secara gratis oleh semua orang. Sebuah website bisa berupa hasil kerja dari perorangan atau individu, atau menunjukkan kepemilikan dari sebuah organisasi, perusahaan, dan biasanya website itu menujukkan beberapa topik khusus, atau kepentingan tertentu. Sebuah website bisa berisi hyperlink yang menghubungkan ke website lain. Jadi, kadangkala perbedaan antara website yang dibuat oleh individu perseorangan dengan website yang dibuat oleh organisasi bisnis bisa saja tidak kentara. Website ditulis, atau secara dinamik di konversi menjadi HTML dan diakses melalui sebuah program software yang biasa disebut dengan web browser, yang dikenal juga dengan HTTP Client. Halaman web dapat dilihat atau diakses melalui jaringan komputer dan internet, perangkatnya bisa saja berupa personal computer, laptop computer, PDA ataupun cellphone. Sebuah website dibuat didalam sebuah sistem komputer yang dikenal dengan web server, juga disebut HTTP server. Pengertian ini juga bisa menunjuk pada software yang dipakai untuk menjalankan sistem ini, yang kemudian menerima lalu mengirimkan halaman-halaman yang diperlukan untuk merespon permintaan dari pengguna. Apache adalah bahasa program
16
atau software yang biasa digunakan didalam sebuah web server, kemudian setelah itu adalah Microsoft Internet Information Server (IIS). Website statik, adalah salah satu bentuk website dimana isinya tidak dimaksudkan untuk di-update secara berkala, dan biasanya di-maintain secara manual oleh beberapa orang dengan menggunakan software editor. Ada 3 tipe kategori software editor yang biasa dipakai, yaitu : a.
Text editor. Contohnya adalah Notepad atau TextEdit, dimana HTML diubah di dalam program editor tersebut.
b.
WYSIWYG editor. Contohnya Microsoft Frontpage dan Macromedia Dreamweaver, dimana situs diubah menggunakan Graphical User Interface (GUI) dan format HTML ini secara otomatis di-generate oleh editor ini.
c.
Editor yang sudah memiliki template, contohnya Rapidweaver dan iWeb, dimana editor ini membolehkan pengguna untuk membuat dan meng-update website-nya langsung ke web server secara cepat, tanpa harus mengetahui apapun tentang HTML. Mereka dapat memilih template yang sesuai dengan keinginan mereka, menambah gambar atau obyek, mengisinya dengan tulisan, dan dengan sekejap mereka sudah dapat membuat website tanpa harus melihat sama sekali kodekode HTML. Berbeda dengan website statik, website dinamik adalah website yang
secara berkala, informasi di dalamnya berubah, atau website ini bisa berhubungan dengan pengguna dengan berbagai macam cara atau metode, seperti HTTP cookies atau variabel database, sejarah kunjungan, variabel
17
sesi dan lain-lain. Bisa juga dengan cara interaksi langsung menggunakan form dan pergerakan mouse. Ketika web server menerima permintaan dari pengguna untuk memberikan halaman tertentu, maka halaman tersebut akan secara otomatis di ambil dari media penyimpanan sebagai respon dari permintaan yang diminta oleh pengguna. Sebuah situs dapat menampilkan dialog yang sedang berlangsung diantara dua pengguna, memantau perubahan situasi, atau menyediakan informasi yang berkaitan dengan sang pengguna. Ada banyak jenis sistem software yang dapat dipakai untuk menggenerate dynamic web system dan dynamic site, beberapa diantaranya adalah ColdFusion (CFM), Active Server Pages (ASP), Java Server Pages (JSP) dan Hypertext Preprocessor (PHP). Isi situs yang statis juga secara periodik di-generate, atau apabila ada keadaan dimana dia butuh untuk dikembalikan kepada keadaan semula, maka dia akan di-generate, hal ini untuk menghindari kinerjanya supaya tetap terjaga. Plugin tersedia untuk menambah banyaknya feature dan kemampuan dari web browser, dimana plugin ini dipakai untuk membuka content yang biasanya berupa cuplikan dari gambar bergerak (active content) contohnya adalah Flash, Shockwave atau applets yang ditulis dalam bahasa JAVA. Dynamic HTML juga menyediakan untuk pengguna supaya dia bisa secara interaktif dan realtime, meng-update di halaman web tersebut . Biasanya perubahan yang dilakukan mereka memakai DOM dan Javascript yang sudah tersedia pada semua web browser sekarang ini.
18
2.1.4 Database a.
Pengertian database Menurut Connoly dan Begg (2002, p4) sistem database adalah kumpulan dari beberapa program aplikasi yang berinteraksi derngan database. Konsep dari database adalah integrasi logis dari catatan– catatan dalam banyak file. Independensi data adalah kemampuan untuk membuat perubahan dalam struktur data tanpa membuat perubahan pada program yang memproses data. Database adalah kumpulan dari data–data yang saling berhubungan secara logikal beserta dengan penjelasannya, didesain untuk mencari informasi yang dibutuhkan oleh organisasi. Beberapa istilah dalam database : i.
Entity adalah objek yang berbeda dari organisasi yang direpresentasikan ke dalam database.
ii.
Attribute adalah sifat – sifat yang dimiliki oleh objek.
iii.
Relationship adalah hubungna anatr entity.
iv.
Field adalah unit terkecil dari data record yang disimpan dalam database.
v.
Record berisi kumpulan field yang saling berkaitan.
vi.
File berisi kumpulan dari seluruh peristiwa dari suatu tipe record.
19
b.
Database Management System (DBMS) DBMS adalah piranti lunak yang berinteraksi dengan pengguna sehingga memudahkan untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke database (Connoly dan Begg, 2002, p16). Komponen–komponen dari DBMS : i.
Hardware Komputer yang kita gunakan untuk menjalankan aplikasi database. Bisa berupa komputer personal, mainframe, atau komputer jaringan.
ii.
Software Terdiri dari piranti lunak DBMS itu sendiri dan berupa beberapa program aplikasi yang bekerja bersama-sama dengan sistem operasi termasuk piranti lunak jaringan jika DBMS digunakan untuk jaringan
iii.
Data Merupakan bagian paling penting dari DBMS, karena merupakan yang menghubungkan anatar mesin dengan manusia.
iv.
Prosedur Prosedur mengacu pada instruksi–instruksi yang mengatur bentuk dan kegunaan dari database.
v.
People Komponen terakhir adalah masyarakat, atau lebih tepatnya pengguna yang terlibat dalam sistem.
20
c.
Database lifecycle Suatu database memiliki siklus hidup yang tertentu. Berikut ini ringkasan dari aktivitas utama yang ada di setiap langkah dari siklus hidup aplikasi database, antara lain : 1.
Perencanaan basis data (database planning)
2.
Pendefinisian sistem (system definition)
3.
Pengumpulan dan analisis kebutuhan (requirement collection and analysis)
4.
Perancangan basis data konseptual (conceptual design)
5.
Perancangan basis data logikal (logical design)
6.
Perancangan basis data fisikal (physical design)
7.
Pemilihan DBMS.
8.
Perancangan aplikasi.
9.
Prototyping.
10. Implementasi 11. Konversi data dan loading. 12. Pengujian. 13. Perawatan operasional.
21
Gambar 2.1 Database Lifecycle
d.
Database design Database design adalah proses perancangan yang mendukung visi dan misi perusahaan untuk sistem database yang dibutuhkan. Ada dua pendekatan dalam membuat database design, yaitu : i.
Pendekatan bottom-up Langkah-langkah yang digunakan dalam pendekatan bottom-up meliputi : •
Mengidentifikasi data items.
22
ii.
•
Mengidentifikasi hubungan antara data items.
•
Mengidentifikasi entity.
•
Menggabungkan model data.
Pendekatan top-down Langkah-langkah yang digunakan dalam pendekatan top-down meliputi : •
Mengidentifikasi entity.
•
Mengidentifikasi hubungan antar entity.
•
Mengidentifikasi entity attributes.
•
Menggabungkan model yang terpisah-pisah.
Ada tiga tahap pembuatan database design, yaitu : i.
Tahap konseptual Proses
pembuatan
model
data
yang
digunakan
oleh
perusahaan, terlepas dari semua pertimbangan fisikal. Tahap ini terdiri dari : • Mengidentifikasi tipe entity. • Mengidentifikasi tipe relationship. • Mengidentifikasi dan menghubungkan atribut dengan entity dan relationship. • Menentukan domain atribut. • Menentukan candidate, primary, dan alternate key. • Mempertimbangkan penggunaan model yang lebih maju. • Mengecek redundansi.
23
• Memvalidasi model konseptual terhadap transaksi pengguna. • Melihat kembali model data konseptual dengan pengguna. ii.
Tahap logikal Proses pembuatan model data berdasarkan model data khusus, tanpa memperhatikan DBMS yang digunakan dan pertimbangan fisikal lainnya. Tahap ini terdiri dari : • Menurunkan hubungan untuk model data logikal. • Memvalidasi hubungan dengan normalisasi. • Memvalidasi hubungan terhadap transaksi pengguna. • Memeriksa integrity constraints. • Melihat kembali model data logikal dengan pengguna. • Menggabungkan model data logikal menjadi model global. • Memeriksa kemungkinan pertumbuhan.
iii.
Tahap fisikal Proses penerapan database pada tempat penyimpanan. Tahap ini terdiri dari : • Mengubah model data logical untuk DBMS yang diinginkan. • Merancang organisasi file dan index. • Merancang user views. • Merancang mekanisme keamanan. • Mempertimbangkan pengenalan dari kontrol redundansi. • Mengawasi dan mengatur sistem operasional.
24
2.1.5 Unified Modeling Language (UML) a.
Pengertian UML UML merupakan suatu bahasa grafis standar yang digunakan untuk modelling object-oriented software (menciptakan suatu model software yang visual). (Lethbridge dan Laganière, 2002, p151)
b.
Diagram-diagram UML i. Class Diagram Simbol-simbol utama yang terdapat dalam class diagram yaitu: •
Class, yang berfungsi untuk merepresentasikan tipe dari data yang dimilikinya. Rectangl
Rectangl
Rectangl
Rectangl
getArea
height
height
i
id h
idth getArea i
Gambar 2.2 Beberapa bentuk penyajian class diagram
•
Association, menunjukkan bagaimana 2 class saling berhubungan. Association ditunjukkan dengan sebuah garis yang terdapat di antara dua class. Di dalam setiap association terdapat multiplicity, yaitu simbol yang menunjukkan berapa banyak instance dari class pada ujung association yang satu dengan instance class di ujung
25
association lainnya. Association juga dapat diberi nama sesuai tugas yang dilakukannya. Employe
*
Secretar
*
works for
Compan 1..*
Compan
BoardOfDirector allocated to ►
Office Person
Manager
0,3..8
*
*
Employe
BoardOfDirectors
Gambar 2.3 Contoh hubungan antar class dengan berbagai jenis multiplicity
•
Attributte, merupakan data sederhana yang terdapat di dalam class dan instancenya.
•
Operation,
merepresentasikan
fungsi-fungsi
yang
ditampilkan oleh class dan instancenya. •
Generalization, berfungsi mengelompokkan class ke dalam hirarki inheritance (turunan). (Lethbridge dan Laganière, 2002, pp154-155)
26 Student attenda
FullTimeStudent
PartTimeStuden
Gambar 2.4 Contoh generalization
ii. Use Case Diagram Use case diagram merupakan suatu notasi UML yang menggambarkan hubungan antara use case dengan actor. Use case diagram membantu software engineer untuk menyampaikan suatu gambaran tingkat tinggi yang berhubungan dengan kemampuan dari suatu sistem. (Lethbridge dan Laganière, 2002, p237)
iii. Sequence Diagram Sequence diagram menggambarkan suatu urutan pesan yang ditukar oleh suatu rangkaian objek (dan dapat juga oleh actor) yang melakukan suatu tugas. Pada sequence diagram objek disusun dari kiri ke kanan – actor yang memulai suatu interaksi biasanya ditempatkan di sisi kiri. Dimensi (kotak) yang vertikal menunjukkan waktu. Bagian atas diagram merupakan titik awalnya, dan waktu untuk melaksanakan tugas itu digambarkan menurun. Garis titik-titik
27
yang digambarkan secara vertikal yang disebut lifeline yang dihubungkan dengan setiap objek atau actor. Lifeline menjadi suatu kotak yang disebut activation box selama suatu periode waktu dimana objek tersebut melakukan perhitungan. Objek dikatakan memiliki live activation selama waktu tersebut. (Lethbridge dan Laganière, 2002, pp270-271)
:Course
:Registratio
requestToRegis ter
:Studen
<< create >> addToSchedu le addToRegistrationLis t
Gambar 2.5 Contoh sequence diagram
iv. Collaboration Diagram Collaboration diagram menggambarkan beberapa objek yang bekerja bersama-sama, yang digambarkan sebagai suatu grafik dengan kumpulan objek dan actor sebagai puncaknya. Collaboration diagram
memilki banyak kesamaan dengan
sequence diagram kecuali lifelines dan activation box tidak terdapat pada collaboration diagram. Pesan ditampilkan dengan
28
menggunakan panah yang telah diberi nama sesuai dengan nama pesan
dan
optional
argumentnya.
Pesan-pesan
tersebut
ditampilkan dengan nomor urut sesuai dengan urutan yang akan dijalankan oleh objek. (Lethbridge dan Laganière, 2002, pp273274) 1: << create >>
:Course Section
2:addToSchedule
: Registration
:Student
3:addToRegistrationList
Gambar 2.6 Contoh collaboration diagram
v. State Diagram State diagram merupakan cara lain untuk menampilkan informasi yang dinamis mengenai suatu sistem; ini digunakan untuk menggambarkan perilaku yang terlihat pada suatu sistem atau suatu objek. Pada tiap titiknya, sistem atau objek tersebut dikatakan berada dalam suatu state. Ada 2 simbol khusus yang terdapat pada state diagram: •
Sebuah lingkaran hitam yang merepresentasikan titik awal state (start state), ini langsung mengambil suatu transisi dari start state ke state reguler. Hanya terdapat satu start state pada setiap tingkatan state diagram dan hanya terdapat satu titik transisi yang tidak diberi nama yang menunjuk ke start state.
29
•
Sebuah lingkaran hitam yang dikelilingi oleh lingkaran yang merepresentasikan end state. Sistem atau objek akan berakhir tugasnya ketika telah mencapai end state. (Lethbridge dan Laganière, 2002, pp276-277) XWin XTurn Tie
OWin YTurn
Gambar 2.7 Contoh state diagram untuk permainan tic-tac-toe
vi. Activity Diagram Activity diagram mirip dengan state diagram, tetapi pada activity diagram terdapat beberapa simbol tambahan yang digunakan pada konteks yang berbeda. Jika pada state diagram kebanyakan transisi disebabkan oleh external event, maka pada activity diagram kebanyakan transisi disebabkan oleh internal event seperti penyelesaian dari satu aktivitas. Salah satu kelebihan dari activity diagram yaitu adanya representasi dari aktivitas yang terjadi pada waktu yang bersamaan. Ini juga dapat digunakan untuk memperlihatkan interaksi pada use case yang berbeda.
30
•
Fork, memiliki satu transisi yang masuk dan banyak transisi yang keluar.
•
Join, memiliki banyak transisi yang masuk dan satu transisi keluar. Transisi keluar akan dijalankan setelah semua transisi yang masuk telah dijalankan.
•
Rendezvous, memiliki banyak transisi yang masuk dan banyak transisi yang keluar. Saat semua transisi yang masuk dijalankan, sistem akan menjalankan semua transisi yang keluar
pada
masing-masing
bagian.
(Lethbridge
dan
Laganière, 2002, pp284-285) Receive course registration
Check prerequisti [not ok]
Verify course not f ll
[ok]
[ok]
[not ok]
Check special [not ok]
[ok]
Complete registration
Gambar 2.8 Contoh activity diagram yang menggambarkan proses registrasi
31
2.2
Teori Khusus 2.2.1
Game Game adalah suatu aktivitas semi terstruktur atau terstruktur, yang dikerjakan untuk kenikmatan dan kadang-kadang juga digunakan sebagai suatu alat bidang pendidikan. Istilah game juga digunakan untuk menguraikan simulasi berbagai aktivitas contohnya untuk kepentingan pelatihan, prediksi atau analisis. Ada berbagai macam game berdasarkan jenis permainannya. Ada game yang berjenis petualangan, aksi, olahraga, balap, pertarungan, dan lain-lain. Salah satunya adalah yang berjenis Role Playing Game (RPG). RPG adalah game dimana pemain mengasumsikan peran dari karakter fiksi dan secara kolaboratif menciptakan atau mengikuti jalan cerita. Pemain menentukan tindakan dari karakter mereka berdasarkan peran mereka, dan berhasil atau tidaknya suatu tindakan menurut suatu sistem formal dari petunjuk dan peraturan. Di dalam peraturan, pemain dapat berimprovisasi secara bebas, berbagai pilihan mereka untuk membentuk hasil dan arah dari game. RPG jarang memiliki pemain yang menang atau kalah. Hal itu yang membuat RPG berbeda dari board game, permainan kartu, olahraga dan jenis-jenis game lain. RPG secara khas lebih sosial dan kolaboratif dibanding kompetitif. Seperti suatu kesatuan novel, RPG memiliki babak dan sering kali dimainkan dalam sesi mingguan, bulanan, atau tahunan. RPG membentuk interaktif dan kolaboratif dari storytelling.
32
2.2.2
Massively Multiplayer Online Role Playing Game (MMORPG) Pada perkembangannya, RPG tidak hanya bisa dimainkan oleh satu orang saja atau dimainkan beberapa orang di tempat yang sama. Kemunculan RPG jenis ini menyedot animo pasar yang begitu besar. RPG seperti ini disebut MMORPG. MMORPG merupakan RPG yang melibatkan ribuan hingga jutaan pemain di dunia maya. Ada begitu banyak online game yang termasuk MMORPG, baik dalam bentuk 2D seperti NEXIA maupun 3D seperti TANTRA. Masing-masing memiliki kelebihan dan kekurangan. Adapun persamaan yang dimiliki keduanya adalah : •
Adanya quest atau misi dari NPC (Non-Player Character) yang membuat dia mendapat imbalan jika berhasil menyelesaikannya.
•
Pemain dapat saling bekerja sama dalam sebuah tim, guild, atau clan.
•
Mempunyai standar permainan RPG bertipe Slash-em-up atau menghajar monster untuk naik ke level selanjutnya. Seperti kita ketahui saat ini MMORPG telah ada sejak awal tahun 1990-
an. Meskipun demikian, MMORPG yang ada saat ini masih mengambil ide dari MMORPG yang ada pada tahun 1970-an. Pada tahun 1972, William Crowther menciptakan game petualangan berbasis teks yang pertama, Colossal Cave Adventure, dimana pemain memecahkan berbagai teka-teki sendirian. Semua interaksi dilakukan melalui teks, tidak terdapat grafik. Pemain mengetik perintah sederhana seperti "lihat utara" dan komputer menjawab dengan uraian dari apa yang sedang terjadi.
33
Saat ini online game berbasis teks sudah mengarah ke MMORPG, baik yang komersil maupun yang dapat dimainkan dengan cuma–cuma. Untuk memainkan tidak diperlukan adanya aplikasi apapun pada komputer klien.
2.2.3
Game Design Game design bertujuan untuk membuat orang lain mengerti dan tertarik dengan game yang akan dibuat. Berikut ini adalah hal-hal yang perlu ada dalam spesifikasi game design, yaitu : a.
Informasi umum Memberikan penjelasan tentang game yang dirancang. Tujuannya adalah agar orang lain mengerti seperti apa game ini, apa tujuan yang ingin dicapai, dan seberapa menyenangkannya game ini.
b.
Penjelasan game secara terperinci i. Konsep dasar Menjelaskan konsep game yang ingin dibuat. ii. Latar belakang Menjelaskan kisah awal dari game tersebut dan perkembangannya selama permainan berlangsung. iii. Tujuan Menjelaskan tujuan yang akan dicapai, misalnya mendapatkan nilai setinggi mungkin atau menyelamatkan sang ratu, dan alasan yang memungkinkan bagi seseorang untuk mengejarnya.
34
iv. Gameplay Menjelaskan cara kerja game dari awal hingga akhir. Misalnya apa yang akan terjadi setelah ini, apa yang bisa pemain lakukan saat ini, bagaimana cara kerja multiplayer-nya, dan berapa tingkat kesulitan yang ada. c.
Aspek-aspek lain dari game i. Karakter Membuat daftar karakter yang ada di game dan menjelaskannya. Hal yang perlu diceritakan adalah kepribadian, kemampuan, serta peran mereka. ii. Lisensi Menjelaskan unsur-unsur legalitas yang ada dalam game. iii. Kendali permainan Menjelaskan antar-muka pemakai (user interface). Termasuk di dalamnya adalah fungsi-fungsi tombol, menu. iv. Grafis Menjelaskan grafis seperti apa yang akan dipakai dalam permaianan. Jika perlu dapat disertakan rancangan layar. v. Suara dan musik Menjelaskan suara-suara atau musik yang akan dipakai, kapan saat pemakaiannya, bagaimana cara menghasilkannya.
35
2.2.4
Structured Query Language (SQL) SQL merupakan bahasa khusus yang muncul dari pengembangan model relational. Selama beberapa tahun SQL menjadi bahasa standar relational database. Pada tahun 1986, standarisasi SQL diberikan oleh American National Standart Institute (ANSI), yang kemudian pada tahun 1987 disetujui oleh International Organization for Standardization (ISO, 1987). Sekarang lebih dari seratus sistem manajemen database mendukung SQL, dapat dijalankan di berbagai hardware platforms dari PCs sampai mainframe. SQL adalah bahasa generasi ke-4 yang relatif mudah untuk dipelajari dan dipahami. Perintah-perintahnya dinyatakan dalam bahasa inggris sederhana dan mempunyai struktur linear dalam baris yang berurutan. Secara umum SQL digunakan untuk melihat (SELECT), menambah (INSERT), mengubah (UPDATE), dan menghapus (DELETE).
2.2.5
MySQL MySQL adalah sebuah perangkat lunak sistem manajemen database SQL atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasuskasus dimana penggunaannya tidak cocok dengan penggunaan GPL. Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode
36
sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius. Terdapat beberapa API tersedia yang memungkinkan aplikasi-aplikasi komputer yang ditulis dalam berbagai bahasa pemrograman untuk dapat mengakses database MySQL antara lain: bahasa pemrograman C, C++, C#, bahasa pemrograman Eiffel, bahasa pemrograman Smalltalk, bahasa pemrograman Java, bahasa pemrograman Lisp, Perl, PHP, bahasa pemrograman Python, Ruby, REALbasic dan Tcl. Sebuah antarmuka ODBC memanggil MyODBC yang memungkinkan setiap bahasa pemrograman yang mendukung ODBC untuk berkomunikasi dengan database MySQL. Kebanyakan kode sumber MySQL dalam ANSI C. Untuk melakukan administrasi dalam database MySQL, dapat menggunakan modul yang sudah termasuk yaitu command-line (perintah: mysql dan mysqladmin). Juga dapat diunduh dari situs MySQL yaitu sebuah modul berbasis grafik (GUI): MySQL Administrator dan MySQL Query Browser. Selain itu terdapat juga sebuah perangkat lunak gratis untuk administrasi database MySQL berbasis web yang sangat populer yaitu phpMyAdmin.
37
2.2.6
Hypertext Preprocessor (PHP) PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP banyak dipakai untuk memrogram situs web dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain. Contoh terkenal dari aplikasi PHP adalah phpBB dan MediaWiki (software di belakang Wikipedia). Contoh aplikasi lain yang lebih kompleks berupa CMS yang dibangun menggunakan PHP adalah Mambo, Joomla!, Postnuke, Xaraya, dan lain-lain. PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP bernama FI (Form Interpreted). Pada saat tersebut PHP adalah sekumpulan script yang digunakan untuk mengolah data form dari web. Perkembangan selanjutnya adalah Rasmus melepaskan kode sumber tersebut dan menamakannya PHP/FI, pada saat tersebut kepanjangan dari PHP/FI adalah Personal Home Page/Form Interpreter. Dengan pelepasan kode sumber ini menjadi open source, maka banyak programmer yang tertarik untuk ikut mengembangkan PHP. Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini interpreter sudah diimplementasikan dalam C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan. Pada tahun 1997, sebuah perusahaan bernama Zend, menulis ulang interpreter PHP menjadi lebih bersih, lebih baik dan lebih cepat. Kemudian pada Juni 1998 perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan nama rilis tersebut menjadi PHP 3.0.
38
Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai. Versi ini banyak dipakai sebab versi ini mampu dipakai untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan proses dan stabilitas yang tinggi. Pada Juni 2004, Zend merilis PHP 5.0. Versi ini adalah versi mutakhir dari PHP. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Dalam versi ini juga dikenalkan model pemrograman berorientasi objek baru untuk menjawab perkembangan bahasa pemrograman ke arah pemrograman berorientasi objek. Kelebihan PHP dari bahasa pemograman lain : •
Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya.
•
Web Server yang mendukung PHP dapat ditemukan dimana-mana dari mulai IIS sampai dengan apache, dengan configurasi yang relatif mudah.
•
Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan developer yang siap membantu dalam pengembangan.
•
Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena referensi yang banyak. PHP adalah bahasa open source yang dapat digunakan di berbagai
mesin (linux, unix, windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah sistem.