Selasa, 08 Mei 2012

Game Android Bola Pantul

Pendahuluan :
          Saat ini perkembangan aplikasi  game pada perangkat handphone telah berkembang dengan sangat cepat. Dalam game aplication biasanya menggunakan bahasa java untuk membuat rancangan  game tersebut dengan platform j2me. Kini telah hadir suatu produk baru untuk pembuatan game yang juga mobile yaitu menggunakan  platform android. Android merupakan software berbasis kode computer yang mampu di distribusikan secara terbuka (open source) sehingga programmer bisa membuat aplikasi baru di dalamnya, memiliki aplikasi native Google yang terintegrasi, seperti push email GMail, Google Maps, dan Google Calendar. Perangkat handphone android mempunyai kelebihan di fitur multimedia. Oleh karena itu disini akan membahas tentang salah satu game android yang diberi nama "Bola Pantul"


Software yang digunakan :
Untuk membuat game Bola Pantul menggunakan android harus menyiapkan terlebih dahulu Environmentnya, yaitu terutama Android SDK, ADT(Android Development Tools) dan Eclipse.
  1. Untuk menginstall Eclipse penulis akan menginstall Java JDK (java development kit) versi 5 atau diatasnya.
  2.  Install dan setting Android SDK
  3.  Kemudian install & mengkonfigurasi Eclipse ( kita akan menggunakan Eclipse 3.5 (Galileo) juga menginstall ADT ( kita akan menggunakan ADT 0.9.4   
Direktori-direktori yang harus ada pada editor Eclipse :
 

 
 Cara Bermain :
Game yang akan dibuat dinamakan “Game Bola Pantul”, pendeskripsian aplikasi prmainan Game Bola Pantul ini yaitu berisi permainan dengan bola yang memantul kesembarang arah pada dinding-dinding canvas di layar tampilan, sebagai pemain harus membuat garis vertikal dan horizontal untuk mempersempit ruang gerak bola namun jangan sampai garis tersebut mengenai bola karena akan mengurangi nyawa (life). Jika ruangan telah dipersempit hingga persentase yang ditentukan dari total canvas atau tampilan layar permainan yaitu 80% maka permainan akan berlanjut ke level berikutnya. Pada level pertama hanya ada satu bola yang memantul kesembarang arah jadi masih cukup mudah memotong canvas dengan garis vertikal dan horizontal hingga tampilan layar atau canvas dipersempit sampai 80% maka pemain akan memenangkan level pertama dan akan berlanjut ke level selanjutnya. Jumlah bola akan terus bertambah pada setiap levelnya, semakin banyak bola yang memantul maka permainan akan semakin sulit terutama dalam pembuatan garis vertikal atau horisontal untuk memenangkan game tersebut.
Untuk memenangkan permainan ini pada setiap levelnya, pemain harus berhati-hati dalam pemotongan garis vertikal dan horizontal karena jumlah bola akan semakain bertambah sesuai level yang dimainkan. Pemain harus dapat memprediksi arah dan gerakan setiap bola agar saat membuat garis tidak terkena bola yang memantul karena hal tersebut akan mengurangi nyawa (life) pemain. Nyawa yang diberikan pertama kali pada game ini adalah 5 nyawa, yang berarti pemain mempunyai 5 kali kesempatan agar garis yang di buat tidak mengenai bola yang memantul. Kemudian setiap kelipatan empat level pemain akan mendapatkan satu nyawa (life.) Pemain akan mengetahui jumlah nyawa (life) yang tersisah dengan munculnya peringatan berupa massage box yang bertuliskan “1 life livet”. Nyawa (life) akan berkurang bila bola mengenai garis yang di buat. Ketika pemain mencapai level terakhir yaitu level 10 akan muncul sebuah massage box yang bertuliskan “Level10?You Rock” dan jika pemain dapat menyelesaikan level 10 ini akan muncul massage box “You Win” dan tombol “OK” yang apa bila di klik akan kembali ketampilan awal permainan.
Struktur Navigasi Permainan :


Diagram Alur dan Alogoritmanya :
Dalam suatu aplikasi, sangat penting untuk memperhatikan sebuah sistem yang berjalan agar dapat dimengerti oleh user. Disini
menggunakan UML (unified modelling language) dan membagi sistem menjadi dua bagian yaitu use case diagram, dan class diagram :
 
Setiap Use Case adalah suatu urut-urutan (sequence) transaksi yang saling berhubungan dan dilakukan oleh sebuah actor dan sistem dalam bentuk sebuah dialog. Use Case Diagram dibuat untuk memvisualisasikan/ menggambarkan hubungan antara Actor dan Use Case. Use Case diagram mempresentasikan kegunaan atau fungsi-fungsi sistem dari perspektif pengguna.
Use Case Diagram yang dibuat kali ini adalah sebuah diagram yang menggambarkan system penggunaan game bola Pantul. Pada diagram ini, kita hanya menggunakan satu buah aktor yang kita beri nama Pemain. Sedangkan use case yang digunakan ialah mencari new game, pause, exit,menampilkan bonus life, game over, dan next level. Pemain dalam use case diagram ini memiliki tiga hak akses saat akan memainkan game ini, diantaranya bisa melakukan tidakan berupa memulai permainan (New Game), berhenti sejenak (Pause), dan keluar permainan (Exit).
 Squance Diagram
Sequence diagram yang kita buat kali ini menggambarkan scenario atau langkah-langkah penggunaan game bolapantul. Pertama-tama kita membuat sebuah objek atau pelaku-pelaku yang terlibat ke dalam sistem. Objek atau pelaku yang akan terlibat tersebut adalah pemain, mulai permainan, berhenti sejenak, dan keluar.
Kemudian kita lanjutkan dengan membuat interaksi antar objek yang ada di dalam sistem dengan menggunakan message yang disimbolkan dengan tanda panah. Langkah-langkah interaksi antar sistem harus sistematis dan penomorannya harus terurut karena dimensi vertical pada sequence diagram menunjukkan waktu proses.
Langkah-langkah dalam memainkan game ini adalah perta pemain harus meng klik botton new game untuk memulai permainan. Selanjutnya pemain akan beriteraksi dengan memainkan game tersebut, untuk berhenti sejenak pemain cukup menekan tombol back pada handphone maka permainan akan berhenti sejenak, untuk melanjutkannya cukup menyetuh layar handphone. Ketika permainan game over pemain dapat keluar dari permainan dengan menekan button Exit.

Selasa, 10 April 2012

PROSES dan THREAD pada OS

Proses adalah keadaan ketika sebuah program sedang di eksekusi. Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuat melalui system call create-process yang membentuk proses turunan ( child process) yang dilakukan oleh proses induk ( parent process). Proses turunan tersebut juga mampu membuat proses baru sehingga semua proses ini pada akhirnya membentuk pohon proses.
Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh sumber-daya seperti waktu CPU, memori, berkas, atau perangkat I/O. Sumber daya ini dapat diperoleh langsung dari sistem operasi, dari proses induk yang membagi-bagikan sumber daya kepada setiap proses turunannnya, atau proses turunan dan proses induk berbagi sumber-daya yang diberikan sistem operasi.

Pengelolaan Proses

    Proses perlu dikelola karena dalam sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat I/O.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan managemen proses seperti:
• Pembuatan dan penghapusan proses pengguna dan sistem proses.
• Menunda atau melanjutkan proses.
• Menyediakan mekanisme untuk proses sinkronisasi.
• Menyediakan mekanisme untuk proses komunikasi.
• Menyediakan mekanisme untuk penanganan deadlock.

       Perkembangan sistem komputer mendatang adalah menuju ke sistem multi- processing, multiprogramming, terdistribusi dan paralel yang mengharuskan adanya proses-proses yang berjalan bersama dalam waktu yang bersamaan.  Hal demikian merupakan masalah yang perlu perhatian dari perancang sistem operasi. Kondisi dimana pada saat yang bersamaan terdapat lebih dari satu proses disebut dengan kongkurensi (proses-proses yang kongkuren).

      Proses-proses yang mengalami kongkuren dapat berdiri sendiri (independen)  atau dapat saling berinteraksi, sehingga membutuhkan sinkronisasi atau koordinasi proses yang baik.
Untuk Threads itu sendiri ialah model proses yang didiskusikan sejauh ini telah menunjukkan bahwa suatu proses adalah sebuah program yang menjalankan eksekusi thread tunggal. Sebagai contoh, jika sebuah proses menjalankan sebuah program Word Processor, ada sebuah thread tunggal dari instruksi-instruksi yang sedang dilaksanakan. Kontrol thread tunggal ini hanya memungkinkan proses untuk menjalankan satu tugas pada satu waktu. Banyak sistem operasi modern telah memiliki konsep yang dikembangkan agar memungkinkan sebuah proses untuk memiliki eksekusi multithreads, agar dapat dapat secara terus menerus mengetik dalam karakter dan menjalankan pengecek ejaan didalam proses yang sama. Maka sistem operasi tersebut memungkinkan proses untuk menjalankan lebih dari satu tugas pada satu waktu. Pada Bagian 2.5 akan dibahas proses multithreaded.
Status proses terdiri dari :
 
- New: proses sedang dibuat.
- Running: proses sedang dieksekusi.
- Waiting: proses sedang menunggu beberapa event yang akan terjadi (seperti menunggu seperti menunggu        untuk menyelesaikan I/O atau menerima signal).
- Ready: proses menunggu jatah waktu dari CPU untuk diproses.
- Terminated: proses telah selesai dieksekusi

        Untuk memkasimalkan pengguna CPU ada yang di sebut penjadwalan proses agar proses yang di jalankan berjalan tanpa hambatan. Ada beberapa macam penjadwalan proses yaitu :
1. Penjadwalan Antrian
          Ketiaka proses memasuki system mereka akan di letakkan pada antrian job. Antrian ini terdiri dari seluruh prosesdalam system. Proses lainnya akan menunggu pada memori utama dan siap untuk di eksekusi ketika proses pertama selesa daliaksanakan.
2. penjadualan Scheduler
  Sistem operasi harus memilih, untuk keperluan penjadualan, memproses antrian-antrian ini dalam cara tertentu. Pemilihan proses dilaksanakan oleh penjadual yang tepat/ cocok. Dalam sistem batch, sering ada lebih banyak proses yang diserahkan daripada yang dapat dilaksanakan segera. Proses ini dipitakan/ disimpan pada suatu alat penyimpan masal (biasanya disket), dimana proses tersebut disimpan untuk eksekusi dilain waktu.
3. Alih Konteks ? Switch Context
  Alih konteks sebuah proses digambarkan dalam PCB suatu proses; termasuk nilai dari CPU register, status proses. Ketika alih konteks terjadi, kernel menyimpan konteks dari proses lama kedalam PCB nya dan mengisi konteks yang telah disimpan dari process baru yang telah terjadual untuk berjalan. Pergantian waktu konteks adalah murni overhead, karena sistem melakukan pekerjaan yang tidak perlu. Kecepatannya bervariasi dari mesin ke mesin, bergantung pada kecepatan memori.
 SUMBER :
  1. http://flutokek.blogspot.com/2012/04/proses-dan-thread-pada-os_10.html
  2. http://yogapw.wordpress.com/2009/10/05/pengertian-proses-dalam-sistem-operasi/
  3. kambing.ui.ac.id/bebas/v06/Kuliah/SistemOperasi/.../bahan-bab3.pdf
  4. http://ramdoniakbar.blogspot.com/2012/04/proses-dan-thread-dalam-os.html

Software, Teknology dan Bahasa Komunikasi Agent

Software (Perangkat Lunak)
Pengertian software secara bahasa singkatnya merupakan perangkat lunak. Berbeda dengan perangkat keras atau hardware software tidak dapat di sentuh ataupun di lihat fisiknya hanya bisa kita operasikan software saja.
Secara istilah software adalah istilah umum untuk data yang diformat dan disimpan secara digital, termasuk program komputer, dokumentasinya, dan berbagai informasi yang bisa dibaca dan ditulis oleh komputer. Dengan kata lain, bagian sistem komputer yang tidak berwujud. Istilah ini menonjolkan perbedaan dengan perangkat keras komputer.
Jenis software di golongkan jadi beberapa macam menurut pendistribusiannya, ada software berbayar, software gratis, shareware, dan malware.
Ini merupakan beberapa contoh perangkat lunak atau software :
  • Perangkat lunak aplikasi (application software) seperti pengolah kata, lembar tabel hitung, pemutar media, dan paket aplikasi perkantoran seperti OpenOffice.org.
  • Sistem operasi (operating system) misalnya Ubuntu.
  • Perkakas pengembangan perangkat lunak (software development tool) seperti Kompilator untuk bahasa pemrograman tingkat tinggi seperti Pascal dan bahasa pemrograman tingkat rendah yaitu bahasa rakitan.
  • Pengendali perangkat keras (device driver) yaitu penghubung antara perangkat perangkat keras pembantu dan komputer adalah software yang banyak dipakai di swalayan dan juga sekolah, yaitu penggunaan barcode scanner pada aplikasi database lainnya.
  • Perangkat lunak menetap (firmware) seperti yang dipasang dalam jam tangan digital dan pengendali jarak jauh.
  • Perangkat lunak bebas (free ‘libre’ software) dan Perangkat lunak sumber terbuka (open source software)
  • Perangkat lunak gratis (freeware)
  • Perangkat lunak uji coba (shareware / ‘trialware)
  • Perangkat lunak perusak (malware
 Technology
  Teknologi informasi biasa disebut TI,IT(Information Technology) infotech.
  berbagai definisi teknologi informasi telah diutarakan beberapa ahli,diantaranya :
  Haag den Keen (1996), Teknologi Informasi adalah seperangkat alat yang membantu  Anda bekerja dengan informasi dan melakukan tugas-tugas yang berhubungan dengan pemrosesan informasi.
  Martin (1999), Teknologi Informasi tidak hanya terbatas pada teknologi komputer (perangkat keras atau lunak) yang digunakan untuk memproses dan menyimpaninformasi, melainkan juga mencakup teknologi komunikasi untuk mengirimkan informasi.
Williams dan Swayer (2003), Teknologi Informasi adalah teknologi yang menggabungkan komputasi (komputer) dengan jalur komunikasi berkecepatan tinggi yang membawa data, suara dan video.
Dari definisi diatas terlihat bahwa teknologi informasi baik secara implisit maupuneksplisit tidak sekedar berupa tekologi komputer, tetapi juga teknologi telekomunikasi.Dengan kata lai, yang disebut teknologi informasi adalah gabungan antara teknologikomputer dan telekomunikasi.

Komunikasi Agent 

Komunikasi antar agent terjadi ketika mereka akan menyampaikan pesan atau informasi tertentu. Dalam berkomunikasi, agent memiliki cara tersendiri yang simulasinya dapat kita lihat pada pemakaian netlogo. Komunikasi bisa di definisikan sebagai proses bertukar informasi antar agent. Agent memperlihatkan cara berkomunikasinya ketika akan menyampaikan informasi pada agent lainnya.

Bahasa di definisikan sebagai satu set simbol yang dikomunikasikan oleh agent untuk menyampaikan informasi. Dalam artificial intelligent bahasa manusia sering disebut bahasa alami sebagai pembeda dengan bahaa pemrograman komputer. Bahasa juga didefinisikan sebagai satu set aturan sosial bersama yang diterima dan dibatasi oleh aturan tata bahasa.

Keanekaragaman Bahasa Manusia

Beraneka ragam cara manusia untuk saling berinteraksi dengan sesamanya, maka tak ayal bahasa adalah salah satu media yang tepat sebagai penyampai maksud satu dengan lainnya. Bahasa tiap daerah di dunia ini berbeda, hal ini terkait dengan letak geografis yang berbeda antara satu dengan yang lain.

Ragam bahasa adalah varian dari sebuah bahasa menurut pemakaian. Berbeda dengan dialek yaitu varian dari sebuah bahasa menurut pemakai. Variasi tersebut bisa berbentuk dialek, aksen, laras, gaya, atau berbagai variasi sosiolinguistik lain, termasuk variasi bahasa baku itu sendiri.


Komunikasi Antar Agent

Komunitas jaringan sosial pada agent merupakan aspek penting dalam berbahasa. Jejaring sosial dapat diartikan sebagai struktur sosial  yang menghubungkan agent yang satu dengan agent yang bersifat sama. Jadi pada intinya, jika sebuah agent akan berkomunikasi, maka ia secara otomatis membentuk kelompok-kelompok tertentu yang memiliki kesamaansifat, baru kemudian agent itu akan saling berkomunikasi. Jejaring sosial ini dapat kita gambarkan seperti sebuah pohon.

SUMBER :
  1. http://www.scribd.com/doc/24946950/Pengertian-Teknologi-Informasi
  2. http://flutokek.blogspot.com/2012_04_01_archive.html
  3. http://harajes.com/1612

 

KOMUNIKASI DATA dan PROTOKOL

Sebuah protokol komunikasi mendefinisikan aturan untuk mengirim blok data (masing-masing dikenal sebagai Protokol Data Unit (PDU)) dari satu node dalam jaringan untuk node lain. Protokol umumnya ditetapkan dalam berlapis cara dan memberikan semua atau bagian dari layanan ditentukan oleh lapisan dari model referensi OSI . Sebuah spesifikasi protokol mendefinisikan operasi protokol dan mungkin juga menyarankan bagaimana protokol harus dilaksanakan. Ini terdiri dari tiga bagian:
  1. Definisi Control Protocol Informasi (PCI) format yang membentuk header PDU
  2. Definisi prosedur untuk transmisi dan menerima PDU
  3. Definisi layanan yang diberikan oleh lapisan protokol

Standarisasi Protokol (ISO 7498)

ISO (International Standard Organization) mengajukan struktur dan fungsi protocol komunikasi data. Model tersebut dikenal sebagai OSI (Open System Interconnection) Reference Model
Terdiri atas 7 layer (lapisan) yang mendefinisikan fungsi. Untuk tiap layernya dapat terdiri atas sejumlah protocol yang berbeda, masing-masing menyediakan pelayanan yang sesuai dengan fungsi layer tersebut.
  1. Application Layer: interface antara aplikasi yang dihadapi user and resource jaringan yang diakses. Kelompok aplikasi dengan jaringan:
    • File transfer dan metode akses
    • Pertukaran job dan manipulasi
    • Pertukaran pesan
  2. Presentation Layer: rutin standard me-presentasi-kan data.
    • Negosiasi sintaksis untuk transfer
    • Transformasi representasi data
  3. Session Layer: membagi presentasi data ke dalam babak-babak (sesi)
    • Kontrol dialog dan sinkronisasi
    • Hubungan antara aplikasi yang berkomunikasi
  4. Transport Layer:
    • Transfer pesan (message) ujung-ke-ujung
    • Manajemen koneksi
    • Kontrol kesalahan
    • Fragmentasi
    • Kontrol aliran
  5. Network Layer: Pengalamatan dan pengiriman paket data.
    • Routing
    • Pengalamatan secara lojik
    • setup dan clearing (pembentukan dan pemutusan)
  6. Data-link Layer: pengiriman data melintasi jaringan fisik.
    • Penyusunan frame
    • Transparansi data
    • Kontrol kesalahan (error-detection)
    • Kontrol aliran (flow)
  7. Physical Layer: karakteristik perangkat keras yang mentransmisikan sinyal data.
Setiap data yang lewat ke layer lebih rendah ditambah header kontrol yang sesuai dengan layernya. Sebaliknya data ke layer lebih tinggi setelah dikurangi dengan header kontrol.

Protocol TCP/IP

Protokol adalah seperangkat aturan yang mengatur komunikasi antara komputer di jaringan. Aturan-aturan ini mencakup pedoman yang mengatur karakteristik berikut jaringan: metode akses, topologi fisik, tipe kabel dan kecepatan transfer data.

Jenis Protokol Jaringan

Protokol jaringan yang paling umum adalah:
  • Ethernet
  • Bicara Lokal
  • Token Ring
  • FDDI
  • ATM

  • Aplication layer: telnet, ftp, dll.
  • Transport Layer:
    • TCP (Transmission Control Protocol) = mengirim data dengan deteksi dan koreksi kesalahan. Selalu memeriksa keterhubungan.
    • UDP (User Datagram Protocol) = mengirim data tanpa koneksi. Melemparkan data ke network begitu saja.
  • Network layer atau Internet: Internet Protocol (IP). Pelayanan pengiriman paket elementer. Definisikan datagram (jika alamat tujuan tidak dalam jaringan lokal, diberi gateway = device yang menswitch paket antara jaringan fisik yang beda; menentukan gateway yang digunakan).
  • Data-link layer: Melakukan fragmentasi atau defragmentasi datagram.
  • Physical layer: sarana sistem mengirimkan data ke device yang terhubung ke network
Sumber :
  1. http://translate.google.co.id/translate?hl=id&langpair=en|id&u=http://www.edrawsoft.com/Network-Protocol.php
  2. http://translate.google.co.id/translate?hl=id&langpair=en|id&u=http://www.erg.abdn.ac.uk/~gorry/course/intro-pages/protocols.html
  3. http://home.unpar.ac.id/~gatut/kuliah/AIK-342/protokol.html

Jumat, 09 Maret 2012

PERMASALAHAN PADA SISTEM TERDISTRIBUSI

     Sekilas mengenai apa itu tentang SISTEM TERDISTRIBUSI.
Hampir semua sistem berbasis komputer yang besar saat ini merupakan sistem terdistribusi. sistem terdistribusi adalah sistem pemrosesan informasi didistribusikan kepada beberapa komputer dan tidak terbatas hanya pada satu mesin saja.

Sampai saat ini ada tipe sistem yang utama yaitu :
  1. Sistem Personal yang tidak terdistribusikan dan dirancang untuk satu workstation saja.
  2. Sistem Embedded yang berjalan pada satu prosessor atau pada kelompok prosessor yang terintegrasi.
  3. Sistem terdistribusi dimana perangkat lunak sistem berjalan pada kelompok prosessor yang bekerja sama dan terintegrasi secara longgar, dengan dihubungkan oleh jaringan.
Kelemahan Pada Sistem Terdistribusi,meliputi berberapa aspek yang saling berkaitan :

  • Kompleksitas
          Sistem terdistribusi bersifat lebih kompleks daripada sistem sentral.
  • Kesulitan dalam Software
          Maksudnya masalah yang akan dihadapi antara lain mengenai Bahasa Pemrograman yang harus        digunakan maupun sebuah sistem operasi dan lain-lain.
  • Jaringan 
          Sistem terdistribusi di implementasikan dalam jaringan komputer,maka yang berkaitan dengan jaringan komputer akan menjadi pertimbangan utama dalam merancang dan mengimplementasikan Sistem.
  • Keamanan
          Pada sistem terdistribusi berbagi data atau pun sumber daya merupakan hal yang mutlak maka muncul masalah-masalah yang berkaitan dengan keamanan data.


Referensi : 
  1. http://www.scribd.com/doc/39508595/6/Permasalahan-dalam-Sistem-Terdistribusi
  2. http://elista.akprind.ac.id/upload/files/8891_BAB_X_ARS_SIST_TERDISTRB.pdf
  3. http://www.dopdfdownload.com/pdf/download/saifulrahman__lecture__ub__ac__id--files--2010--05--MENGELOLA-SUMBER-DATA.pdf