• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI"

Copied!
11
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1 Permainan Kartu UNO

Permainan merupakan suatu aktivitas yang dilakukan baik perorangan maupun berkelompok dengan tujuan untuk bersenang-senang, meluangkan waktu, ataupun berolahraga. Dewasa ini, telah terdapat beragam jenis permainan baik untuk anak-anak sampai orang dewasa. Salah satu jenis permainan yang menarik perhatian untuk semua kalangan adalah permainan kartu. Permainan kartu merupakan permainan yang melibatkan banyak orang dan biasanya dalam permainan kartu dimainkan berdasarkan giliran main (turn-based game). Untuk jenis permainan ini digunakan sekumpulan kartu yang umumnya berjumlahkan 52 kartu, tetapi ada juga yang menggunakan jumlah kartu yang berbeda, contohnya adalah kartu UNO yang berjumlahkan 108 kartu.

Kartu UNO pertama kali diciptakan pada tahun 1971 di Reading, Ohio. Kartu UNO dibuat oleh Merle Robbins, seorang pemilik tempat pangkas dan pecinta kartu. Merle Robbins pertama kali memperkenalkan permainan ini kepada keluarganya. Dalam proses perkembangannnya, Merle Robbins dibantu oleh istrinya, Marie, dan putra beserta menantu perempuannya, Ray dan Kathy Robbins. Pada tahun 1972, Merle Robbins menjual hak ciptanya. Selanjutnya UNO mulai dikenal lebih luas lagi berkat International Games Inc.. Sekarang International Games Inc. telah menjadi bagian dari keluarga Mattel (Harrisburg, 2010).

Permainan kartu UNO merupakan salah satu permainan kartu yang populer di seluruh dunia. Permainan kartu UNO bisa dimainkan dari 2 hingga 7 orang. Cara bermain kartu UNO bermacam-macam. Pada dasarnya, aturan permainan dari kartu UNO ini adalah seperti berikut:

(2)

Setiap pemain mula-mula mendapatkan 7 kartu. Pada permulaan permainan, satu kartu diambil dari pile card dan kartu ini berperan sebagai deal card. Untuk dapat memainkan kartu ini, seorang pemain pada gilirannya harus dapat mencocokkan baik dari angka ataupun warna dari kartu tersebut. Jika ternyata tidak terdapat kartu yang cocok maka pemain tersebut harus mengambil satu kartu sebagai hukumannya.

Terdapat beberapa action card yang juga dapat dimainkan. Kartu tersebut adalah sebagai berikut:

1. Draw 2 Card

Ketika kartu ini dimainkan, pemain pada giliran berikutnya harus mengambil dua kartu. Untuk dapat memainkan kartu ini, pemain harus mencocokkan dengan warna pada deal card.

2. Reverse Card

Ketika kartu ini dimainkan, arah permainan dibalik. Permainan yang digilir searah jarum jam diubah menjadi berlawanan jarum jam. Untuk dapat memainkan kartu ini, pemain harus mencocokkan dengan warna pada deal card.

3. Skip Card

Ketika kartu ini dimainkan, pemain pada giliran berikutnya tidak akan bisa memainkan gilirannya. Untuk dapat memainkan kartu ini, pemain harus mencocokkan dengan warna pada deal card.

4. Wild Card

Ketika kartu ini dimainkan, pemain pada giliran berikutnya harus memainkan kartu dengan warna yang sesuai dengan kehendak pemain yang memainkan wild card tersebut. Kartu ini bisa dimainkan setiap saat tanpa harus mencocokkan warna seperti pada action card yang lain.

5. Wild Draw 4 Card

Ketika kartu ini dimainkan, pemain pada giliran berikutnya harus mengambil empat kartu dan pemain tersebut juga harus memainkan kartu dengan warna yang sesuai dengan kehendak pemain yang memainkan wild draw 4 card. Kartu ini bisa dimainkan setiap saat tanpa harus mencocokkan warna seperti pada action card yang lain.

Ketika pemain hendak memainkan kartu kedua terakhir dari tangannya, pemain tersebut harus mengucapkan “UNO”. Jika terdapat pemain yang lupa mengatakan

(3)

“UNO” maka pemain lain dapat mengatakan “Catch” sebelum pemain lainnya memainkan kartu dan pemain yang lupa mengatakan “UNO” harus mengambil dua kartu. Pemenang ditentukan setelah seorang pemain menghabiskan kartu di tangannya.

2.2 Jaringan Client Server

Aplikasi permainan kartu UNO yang akan dirancang ini melibatkan banyak pemain. Untuk mendukung banyak pemain, aplikasi komputer ini dihubungkan ke dalam jaringan. Jaringan merupakan sekumpulan device/node yang terhubung pada jalur komunikasi. Device/node yang dimaksud dapat berupa komputer, printer, ataupun peralatan lain yang mampu mengirimkan dan menerima data dari node lainnya yang saling terhubung.

Salah satu konsep yang mendukung jaringan komputer adalah jaringan client-server. Terdapat dua unsur utama dari konsep tersebut, yaitu server dan client. Server menjadi penyedia layanan permainan dan penghubung antar client agar client dapat saling berinteraksi dalam permainan tersebut.

Jaringan Client Server merupakan jaringan yang menghubungkan dua komputer atau lebih untuk saling berinteraksi yang mana salah satu komputer bertindak sebagai server dan yang lainnya bertindak sebagai client. Server menjadi komputer yang memberikan layanan dalam jaringan yang terhubung antar komputer tersebut. Sedangkan, client menjadi komputer yang meminta dan menggunakan layanan yang disediakan dalam server. Client merupakan komputer milik user, yang mana memiliki user interface sendiri dan dapat melakukan beberapa atau semua pengolahan aplikasi (PCMag, 2010). Dikatakan client-server, bilamana di dalam jaringan tersebut terdapat komputer yang menyediakan suatu layanan dan komputer lain mengakses layanan dari komputer yang bersangkutan.

Untuk saling berhubungan dan mengirimkan layanan antar server dan client digunakan socket. Socket adalah salah satu titik akhir dari jalur komunikasi dua arah antara dua program yang berjalan pada jaringan dengan protokol TCP/IP atau UDP

(4)

(Oetomo, 2006, hal: 196). Socket dibuat dengan menghubungkan/menyambungkan 2 alamat IP melalui port tertentu.

Adapun karakteristik yang dimiliki oleh server maupun client (MDGR, 2008, hal: 130) adalah karakteristik yang biasanya dimiliki oleh server adalah bersifat pasif, menunggu permintaaan dari client, menerima, memproses, dan mengirimkannya kembali berupa layanan kepada client yang bersangkutan. Sedangkan, karakteristik yang biasanya dimiliki oleh client adalah bersifat aktif, mengirimkan permintaaan, menunggu dan menerima layanan dari server.

2.3 Model OSI

Model Open Systems Interconnection (OSI) dibuat oleh International Organization for Standardization (ISO) yang menyediakan kerangka logika terstruktur bagaimana proses komunikasi data melalui jaringan. Standard ini dikembangkan agar komputer dapat berkomunikasi pada jaringan yang berbeda secara efisien. Terdapat tujuh lapisan pada model OSI. Tiap-tiap lapisan memiliki fungsi tersendiri dan bertanggung jawab secara khusus pada proses komunikasi data. Model lapisan OSI dibagi menjadi dua kelompok, yaitu upper layer dan lower layer. Upper layer berfokus pada aplikasi pengguna, sedangkan lower layer menjadi inti dari komunikasi data melalui jaringan aktual yang berupa jaringan fisik. Model OSI merupakan model untuk pemahaman dan perancangan suatu arsitektur jaringan yang fleksibel, tahan banting, dan dapat dioperasikan (Forouzan, 2002, hal: 43).

Ketujuh lapisan dari model OSI ini adalah sebagai berikut: 1. Lapisan application

Menyediakan jasa untuk antarmuka pengguna. Lapisan ini bertanggung jawab atas pertukaran informasi antar program komputer yang berada di jaringan.

2. Lapisan presentation

Lapisan ini bertanggung jawab dengan bagaimana data dikonversi dan diformat untuk transfer data.

(5)

3. Lapisan session

Lapisan ini bertanggung jawab dengan menentukan bagaimana dua aplikasi menjaga, memelihara, dan mengatur koneksi agar tetap dapat saling berhubungan satu sama lain.

4. Lapisan transport

Lapisan ini bertanggung jawab membagi data menjadi segmen, menjaga koneksi logika “end-to-end” antar aplikasi, dan menyediakan penanganan terhadap kesalahan ketika komunikasi berlangsung.

5. Lapisan network

Lapisan ini bertanggung jawab menentukan alamat jaringan, menentukan rute yang harus diambil selama perjalanan, dan menjaga antrian lalu lintas dalam jaringan.

6. Lapisan data link

Lapisan ini bertanggung jawab menyediakan link untuk data, memaketkannya menjadi frame yang berhubungan dengan “hardware” kemudian diangkut melalui media komunikasi dengan kartu jaringan (LAN Card), mengatur komunikasi lapisan fisik antara sistem koneksi dan penanganan kesalahan data.

7. Lapisan physical

Merupakan jaringan fisik yang bertanggung jawab atas proses data menjadi bit dan mentransfernya melalui media, seperti kabel, dan menjaga koneksi fisik antar sistem.

2.4 Client Server dalam Java

Salah satu kekuatan Java sebagai bahasa pemrograman adalah kemampuannya dalam dukungan jaringan (Internet Games Tutorial, 2004). Sun dari Java menyediakan sejumlah kemampuan jaringan built-in yang mana memudahkan pembuatan aplikasi berbasis Internet maupun berbasis Web (Deitel, 2005, hal: 1107). Dengan adanya kemampuan ini, Java memungkinkan suatu program untuk dapat bekerja sama dengan program lainnya yang berada dalam komputer yang berbeda. Kemampuan jaringan dari Java dideklarasikan dengan classes dan interface dari package java.net (Deitel, 2005, hal: 1107). Terdapat 2 tipe komunikasi dalam Java (Mahmoud, 1996), yaitu:

(6)

1. Stream communication.

Stream communication yang sering disebut juga dengan TCP (Transfer Control Protocol) merupakan connection-oriented protocol. Untuk melakukan komunikasi dalam protokol TCP, sebuah koneksi harus dibuat terlebih dahulu antar socket. Ketika salah satu socket mendengarkan ataupun menunggu permintaan koneksi (server’s socket), socket yang lain melakukan permintaan koneksi (client’s socket).

2. Datagram communication.

Datagram communication yang sering disebut juga dengan UDP (User Datagram Protocol) merupakan connectionless protocol. Dalam komunikasi ini, setiap dilakukan pengiriman data harus disertai dengan alamat socket dari server maupun client.

2.5 Socket

Socket sering disebut sebagai ‘endpoint’ dari komunikasi dua arah antar aplikasi. Socket yang digunakan untuk pemrograman berbasis client-server, dapat berupa socket TCP/IP atau socket UDP. Socket merupakan kombinasi dari IP Address dan port (Politeknik Telkom, 2010).

Dalam aplikasi client-server, komunikasi yang terjadi antara client dan server harus dapat dipercaya (handal). Artinya, tidak ada data yang hilang dan semuanya harus sampai di sisi client dengan urutan yang sama seperti yang dikirimkan oleh server. Untuk kehandalan tersebut, digunakan komunikasi TCP yang mana sebuah program client dan sebuah program server harus membangun koneksi satu dengan yang lainnya. Masing-masing program mengikat sebuah socket pada akhir proses pembangunan koneksinya. Untuk berkomunikasi, masing-masing client dan server membaca dari socket dan juga menulis pada socket.

Pada umumnya, sebuah server berjalan di sebuah komputer khusus dan memiliki socket pada nomor port khusus. Server bersifat pasif hanya menunggu, dan mendeteksi socket apakah terdapat client yang meminta koneksi. Pada sisi client, client mengetahui hostname dari mesin tempat server dijalankan dan nomor port dimana server akan mendeteksi permintaan dari client. Untuk membuat

(7)

connection-request, client harus mencari mesin server dan port yang sesuai. Setelah itu, client juga harus mengidentifikasikan dirinya sendiri untuk diketahui oleh server sehingga client dan server terikat pada nomor port lokal yang akan digunakan selama koneksi berlangsung. Dalam penerimaan koneksi, server akan menerima socket baru untuk lokal port yang sama dan juga memiliki endpoint pada jarak jauh yang diisi dengan alamat dan port dari client. Biasanya hal seperti ini dilakuk an oleh sistem. Pada sisi client, jika koneksi telah diterima maka socket berhasil diciptakan dan client dapat menggunakan socket tersebut untuk berkomunikasi dengan server.

Java menyediakan socket classes dalam package java.net untuk mendukung pemrograman yang berhubungan dengan socket.

2.6 TCP Socket

TCP dikatakan sebagai protokol yang handal karena protokol TCP mempunyai mekanisme untuk memastikan paket dapat diterima oleh client. Pada saat TCP mengirimkan data ke penerima, TCP akan memberikan state acknowledgement. Apabila state acknowledgement tidak diterima maka TCP akan secara otomatis mengirim ulang data dan menunggu dengan selang waktu tertentu. Namun apabila dalam selang waktu tertentu TCP gagal mengirimkan data maka koneksi akan diberhentikan.

TCP dapat mengurutkan setiap byte data yang dikirimkan. Apabila segment yang diterima tidak sesuai dengan segment yang dikirim maka TCP penerima akan meminta pengiriman ulang segment-segment tersebut berdasarkan urutan yang benar sebelum dikirimkan ke level aplikasi penerima. Apabila TCP menerima dupliksi data dari pengirim maka TCP dapat mendeteksi duplikasi data tersebut dan membuang data yang tidak digunakan.

2.7 Unified Software Development Process (USDP)

Unified Software Development Process atau Unified Process merupakan suatu bingkai/kerangka kerja yang populer dalam proses pengembangan perangkat lunak. USDP ini sedikitnya memiliki 4 aktivitas dalam merancang dan membangun suatu

(8)

perangkat lunak. Keempat aktivitas yang dimaksud adalah analisis kebutuhan, perancangan, implementasi (pengkodean), dan pengujian.

Pada dasarnya USDP ini merupakan proses iteratif berbeda dengan model Waterfall. Terdapat empat fase dalam USDP yaitu fase insepsi, elaborasi, konstruksi, dan transisi. Fase insepsi memberi evaluasi awal dari sebuah proyek. Dari fase ini, akan ditentukan batasan-batasan dalam suatu proyek. Fase elaborasi menganalisa masalah/kejadian yang terjadi dalam suatu domain permasalahan untuk memperoleh kebutuhan-kebutuhan yang diperlukan oleh sistem. Dari fase elaborasi ini biasanya diimplementasikan use case diagram. Fase konstruksi bertujuan untuk mengembangkan sebuah proyek dalam bentuk coding. Dari fase konstruksi ini biasanya dilakukan perancangan sistem untuk memperoleh fungsi-fungsi utama dalam suatu aplikasi. Fase transisi merupakan fase yang difokuskan pada hasil akhir dari suatu aplikasi. Fase transisi memiliki makna peralihan yang berarti menunjukkan pada bentuk jadi dari suatu aplikasi dan siap untuk dijalankan. Dari fase transisi ini biasanya terlebih dahulu dilakukan pengujian aplikasi.

Dalam aktivitas analisis kebutuhan difokuskan pada fase insepsi dan fase elaborasi. Dalam aktivitas perancangan sistem difokuskan pada fase konstruksi, tetapi tetap berdasarkan dari hasil pengolahan fase insepsi dan elaborasi. Dalam aktivitas implementasi (pengkodean) difokuskan pada fase konstruksi dan fase transisi. Dalam aktivitas pengujian sistem difokuskan pada fase transisi.

2.8 Unified Modeling Language (UML)

Unified Modeling Language adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (Fowler, 2005, hal: 1). UML menggunakan notasi grafis untuk mendapatkan abstraksi model dari suatu sistem yang hendak dibangun.

Fitur yang menarik dari UML adalah fleksibilitasnya (Deitel, 2005, hal:24). UML ini bersifat extensible (mampu membuat model-model baru sesuai dengan fitur yang baru). Saat ini UML telah menyediakan diagram-diagram yang

(9)

merepresentasikan secara grafis bagaimana setiap objek saling berinteraksi. Diagram-diagram ini akan mempermudah pemahaman tentang suatu sistem yang dibangun. Beberapa diagram yang banyak digunakan untuk memodelkan aplikasi berorientasi objek adalah Use Case, Activity Diagram, Class Diagram, Sequence Diagram, Collaboration Diagram, dan lain-lain.

2.8.1 Use Case Diagram

Use case diagram memberikan gambaran menurut perspektif pengguna perangkat lunak (Suhendar, A dan Gunadi, H, 2002). Use case diagram digunakan selama proses analisis untuk menangkap kebutuhan-kebutuhan sistem dan untuk memahami bagaimana sistem seharusnya bekerja. Selama tahap desain, use case diagram menetapkan perilaku sistem saat diimplementasikan.

2.8.2 Activity Diagram

Activity diagram adalah teknik untuk menggambarkan logika prosedural, proses bisnis, dan jalur kerja. (Fowler, 2005, hal: 163). Diagram ini mirip dengan flowchart karena diagram ini memodelkan sebuah alur kerja dari satu aktifitas ke aktifitas lainnya atau dari satu aktifitas ke dalam keadaan sesaat (state).

2.8.3 Class Diagram

Class diagram mendeskripsikan jenis-jenis objek dalam sistem dan berbagai macam hubungan statis yang terdapat di antara kelas-kelas tersebut. Selama proses analisis, class diagram memperlihatkan aturan – aturan dan tanggung jawab entitas yang menentukan perilaku sistem. Selama tahap desain, diagram ini berperan dalam menangkap struktur dari semua kelas yang membentuk arsitektur sistem yang dibuat. (Suhendar, A dan Gunadi, H, 2002).

2.8.4 Sequence Diagram

Sequence diagram menunjukkan sejumlah interaksi objek yang disusun dalam suatu urutan waktu. Diagram ini memperlihatkan tahap demi tahap apa yang harus terjadi untuk menghasilkan sesuatu di dalam use-case. Sequence diagram secara khusus berinteraksi dengan use-case.

(10)

Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Diagram ini digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah kejadian untuk menghasilkan output tertentu.

2.8.5 Collaboration Diagram

Collaboration diagram merupakan sebuah cara alternatif dalam menggambarkan interaksi antar objek. Dibandingkan dengan sequence diagram, diagram ini lebih menekankan pada hubungan antar objek, sedangkan sequence diagram lebih menekankan pada urutan kejadian.

2.8.6 Deployment Diagram

Deployment diagram menunjukkan susunan fisik sebuah sistem, menunjukkan bagian perangkat lunak mana yang berjalan pada perangkat keras mana. Diagram ini adalah diagram dengan tipe implementasi yang digunakan untuk secara grafis menggambarkan arsitektur fisik dari perangkat lunak sistem. Diagram ini dapat digunakan untuk menunjukkan ketergantungan di antara komponen – komponen penyusun sistem. Deployment diagram menggambarkan bagaimana komponen dibangun dalam infrastruktur sistem, di mana suatu komponen (pada mesin, server atau perangkat keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server.

Sebuah node adalah server, workstation atau perangkat keras lain yang digunakan untuk membangun komponen dalam lingkungan sebenarnya.

2.9 User Interface Design

Suatu interface dalam video game dapat membuat ataupun menghancurkan kesuksesannya (David Krieger, 2001). User interface design merupakan salah satu faktor kesuksesan sebuah permainan. Pada umumnya, suatu permainan dengan interface yang tertata dengan baik cenderung lebih mudah dan menarik untuk dimainkan.

(11)

User interface design, yang dikenal juga dengan nama human-computer interaction (HCI), dalam aplikasi komputer lebih mengarah pada bagaimana user dapat berinteraksi melalui kontrol ataupun tampilannya. Antarmuka pengguna produk multimedia merupakan perpaduan dari elemen grafis dan sistem navigasinya (Vaughan, 2006, hal: 378). Jika pesan dan isi produk multimedia tersebut tidak terorganisir dan sulit dicari, atau jika pengguna menjadi kehilangan tujuan atau bosan, produk multimedia tersebut mungkin dikatakan gagal / tidak mampu menarik minat pengguna.

2.10 Analisis Persyaratan dengan UML

Analisis persyaratan meliputi usaha untuk mengetahui apa kemampuan sebuah sistem yang diinginkan pengguna dan pelanggan dari sebuah pembuat perangkat lunak (Fowler, 2005). Analisis ini dilakukan untuk mendapatkan informasi atau persyaratan cukup untuk mempersiapkan model yang menggambarkan apa yang diperlukan dari perspektif pengguna.Sejumlah teknik UML yang dapat membantu:

1. Use case diagram yang digunakan untuk menunjukkan fungsionalitas suatu sistem dan bagaimana sistem berinterakasi dengan dunia luar.

2. Activity diagram yang menunjukkan alur kerja (work flow) sebuah proses bisnis dan urutan aktivitas dalam suatu proses.

3. Class diagram yang membantu dalam visualisasi struktur sistem yang mendeskripsikan jenis-jenis objek dalam suatu sistem dan hubungan yang terdapat diantara objek tersebut.

2.11 Desain dengan UML

Sejumlah teknik UML yang dapat membantu adalah sebagai berikut

1. Class diagram dalam sudut pandang perangkat lunak, untuk menunjukkan class yang terdapat di dalam perangkat lunak dan bagaimana mereka saling berhubungan.

2. Sequence diagram untuk memperlihatkan urutan kejadian antar objek dalam urutan waktu.

Referensi

Dokumen terkait

Ucapan dan rasa syukur penulis layangkan ke hadirat Ilahi Robbi, yang telah berkenan menguatkan penulis untuk membuat Laporan Tugas Akhir dengan judul

Tingkat konsumsi protein, dan energi pada masyarakat Desa Panduman, belum mencukupi standart ketentuan yang telah ditetapkan dalam Widya Karya Nasional Pangan dan

Dari segi produk pengganti, All New Camry memang mendapat kendala yang cukup tinggi, terutama dari mobil-mobil city car yang cenderung jauh lebih hemat dalam mengkonsumsi bahan

Simpulan dari penelitian ini adalah melalui penerapan model jigsaw dengan media audio visual dapat meningkatkan kualitas pembelajaran IPS meliputi keterampilan guru,

Objektif permainan dalam board game ini adalah semua pemain harus mengumpulkan kartu sebanyak mungkin dengan tetap menjaga kadar sodium, gula, dan juga lemak

Setiap pemain harus mengeluarkan kartu yang sejenis dengan kartuAcuan, jika tidak mempunyai kartu yang sejenis maka pemain harus mengambil dari tumpukan kartu, sampai menemukan

Ceramah Penyuluhan Hukum Kegiatan ceramah penyuluhan hukum dalam tahun 2005 ini diprogramkan sebanyak 35 kali kegiatan dan telah selesai dilaksanakan sesuai dengan yang

Kalau Anda melakukan sendiri penelitian Anda, tahu betul apa yang Anda lakukan, dan tidak grogi di ruang ujian, bisa dipastikan Anda akan perform well.. Cara