Senin, 07 Juli 2014

T3,T4 GAME DUAL TETRIS

Game Dual Tetris

I.                  PENDAHULUAN

Game merupakan sebuah aktivitas rekreasi dengan tujuan bersenang senang untuk menghilangkan kejenuhan dalam melakukan rutinitas sehari hari. Sekarang ini perkembangan game semakin pesat mengikuti dengan perkembangan teknologi .

Atas dasar uraian diatas maka penulis mencoba mengembangkan game tetris yang sudah ada dengan membuat permainan tetris dapat dimainkan oleh dua pemain dalam satu layar komputer tanpa ada pergantian atau korelasi antar pemain. Game ini memiliki tingkat kesulitan yang beragam, tingkat kesulitan ini akan meningkat ketika setiap pemain dapat mengumpulkan nilai yang telah ditentukan.

Game ini akan memberikan nilai kepada pemain saat pemain mampu membuat balok-balok yang telah disediakan memenuhi satu baris atau lebih. Saat baris telah penuh, secara otomatis baris tersebut akan menghilang dan akan menghasilkan nilai yang tergantung pada banyaknya baris yang menghilang secara bersamaan.

Ada dua kemungkinan yang dapat membuat permainan ini selesai, pertama saat sudah tidak ada lagi baris yang dapat ditempati oleh balok-balok tersebut. Dan yang kedua jika salah satu pemain telah telah menyelesaikan level tertinggi.

Tujuan penulisan mengembangkan game tetris untuk dua orang pemain dalam satu layar komputer yang dapat menstimulasi kemampuan berpikir secara taktis, cepat dan mampu membuat pemain lebih kreatif, juga dapat dijadikan alat penghilang kejenuhan setelah beraktivitas seharian penuh, dengan tujuan dibuatnya game ini diharapkan dapat membantu pemain dalam mengambil keputusan di kehidupan sehari-hari.


        II.  PERANCANGAN GAME

            Game tetris  merupakan game yang diperuntukan untuk usia pemain 7 sampai 15 tahun yang berujuan untuk meningkatkan daya stimulus otak anak, Namun game tetris  pun dapat juga dimainkan di kalangan orang dewasa untuk menghilangkan kejenuhan setelah beraktifitas. Dalam penulisan makalah ini, Penulis membuat pengembangan game tetris dengan membuat game tetris ini dapat dimainkan oleh dua pemain dalam satu layar tanpa ada pergantian atau korelasi antar pemain.

2.1 Algoritma

            Dalam permainan DualTetris ini algoritma yang gunakan untuk mencari solusi adalah algoritma yang menggunakan konsep-konsep yang ada dalam algoritma Greedy dan Algoritma BruteForce.Algoritma Greedy merupakan metode yang paling umum digunakan untuk memecahkan masalah optimasi.Algoritma ini sederhana dan sesuai dengan tujuan yang ada.
Algoritma yang digunakan untuk mendapatkan susunan tumpukan balok yang paling baik dengan menempatkan balok ke tempat yang tepat.Algoritma ini menggunakan prinsip Greedy dalam mencari langkah solusi yang paling menguntungkan. Prioritas keuntungan yang tersusun terdiri dari:
1. Membentuk satu atau lebih baris paling penuh
2. Membentuk satu atau lebih baris paling mendekati penuh
3. Tidak membentuk ruang kosong pada susunan tumpukan balok
 4. Balok dapat masuk ke dalam susunan tumpukan balok paling dalam
 Algoritma yang kami kemukakan akan mencari penempatan balok yang jatuh ke ruang yang paling tepat sesuai prioritas keuntungan di atas diantara susunan tumpukan  balok. Pencarian ini akan dilakukan secaraBrute Force. Balok yang jatuh akan dicoba untuk ditempatkan ke ruang di antara susunan tumpukan balok dibawah.

Algoritma ini akan mencari penempatan yang sesuai dengan prioritas di atas. Pencarian solusi diantara susunan tumpukan balok akan dilakukan secara Brute Force. Algoritma ini akan mencari solusi paling menguntungkan untuk setiap sisi balok yang sedang jatuh. Pencarian solusi untuk setiap sisi dilakukan secar Brute Force. Apabila pada skala prioritas tertinggi memiliki lebih dari satu solusi terbaik yang sama, maka diantara solusi tersebut akan dibandingkan satu sama lain untuk mencari yang paling menguntungkan dengan standard prioritas selanjutnya, dan begitu selanjutnya. Apabila pada skala prioritas tertinggi tidak memiliki solusi, maka akan mencari solusi paling menguntungkan dengan skala prioritas selnjutnya, dan begitu selanjutnya. Apabila pada skala prioritas tertinggi hanya memiliki satu solusi paling  menguntungkan, maka akan dibandingkan dengan solusi dari hasil pencarian solusi untuk sisi balok yang lain. Diantara setiap solusi sisi balok, dicari solusi yang paling menguntungkan sesuai skala prioritas di atas. Dan balok akan ditempatkan pada ruang tersebut.

2.2       Pengambilan Modul
            Pada game Tetris yang penulis buat ini, penulis meng-import modul-modul dari Python. Dan karena penulis menggunakan PyGame untuk menunjang game Tetris ini, maka penulis tidak lupa untuk meng-import PyGame. Modul-modul ini mempunyai fungsi untuk menunjang grafik dan suara.

            import random, os, pygame
     import pygame.mixer
     from pygame.locals import *   

2.3       Pembuatan Papan Game
            Dalam pembuatannya, program akan memanggil / me-load gambar yang telah dibuat oleh penulis, lalu menentukan range atau ukuran layar yang akan digunakan.

class grid:
    """ Tetris grid, contains all of the dropped blocks """
     def __init__(self,intX,intY): 
self.layers = [[[0 for x in range(0,10)] for y in range(0,20)]]
           self.currentgrid = self.layers[0]
           self.gridX = intX
           self.gridY = intY
           for i in range(0,20):
                for j in range(0, 10):
                     self.currentgrid[i][j] = 0
           self.height = 0 
self.blockimages = [ load_image("redblock.gif"), load_image("yellowblock.gif"),\
load_image("turqblock.gif"), load_image("purpleblock.gif"),\
load_image("greenblock.gif"), load_image("blueblock.gif"),\
load_image("orangeblock.gif"), load_image("whiteblock.gif") ]


     def blitgrid(self, screen):
           for i in range(20 - (self.height), 20):
                for j in range(0, 10):
                     blcolor  = self.currentgrid[i][j]
                     if blcolor > 0:
                           currentX = self.gridX + (j*16)
                           currentY = self.gridY + (i*16)
   
screen.blit(self.blockimages[blcolor-1],\ (currentX, currentY))

            Untuk me-load gambar yang telah dibuat, dipergunakan fungsi perumusan program di bawah ini :

def load_image(name, colorkey=None): 
    fullname = os.path.join('Image', name)
    try:
           image = pygame.image.load(fullname)
    except pygame.error, message:
           print 'Cannot load image:', fullname
           raise SystemExit, message
    image = image.convert()
    if colorkey is not None:
           if colorkey is -1:
                colorkey = image.get_at((0,0))
           image.set_colorkey(colorkey, RLEACCEL)
    return image


     Tampilan memiliki ukuran resolusi 640 x 480 maka papan permainan ditentukan terlebih dahulu koordinatnya.

def Game(screen):
    titlescreen = load_image('background.jpg')
    bggrid = load_image('gridbg1.gif')
    droppulse = load_sound("pulse.wav")
    titlePos = [0,0]
    gridPos1 = [21,140]
    gridPos2 = [455,142]
    blockScreen = [gridPos1[0],gridPos1[1],230,393]
    blockScreen2 = [gridPos2[0],gridPos2[1],375,393]   
    gameGrid = grid(gridPos1[0],gridPos1[1])
    gameGrid2 = grid(gridPos2[0],gridPos2[1])
    levelPos = [100,25,100]
    levelTopPos = [270, 170]
    levelTopPos2 = [380, 170]
    cScorePos = [50,100,50]
    cScoreTopPos = [130,55]
    cScoreTopPos1 = [540,55]
    screen.blit(titlescreen, (titlePos[0],titlePos[1]))
    screen.blit(bggrid, (gridPos1[0],gridPos1[1]))
    screen.blit(bggrid, (gridPos2[0],gridPos2[1]))
    currentlevel = 1
    currentlines = 0
    dropcounter = 0
    currentscore = 0
    gameOver = 0
    currentlevel2 = 1
    currentlines2 = 0
    dropcounter2 = 0
    currentscore2 = 0
    gameOver2 = 0
    StatusGame = 0
    droprate = 30 / (currentlevel * 0.5)
    droprate2 = 30 / (currentlevel2 * 0.5)
    clock = pygame.time.Clock()
    currentBlock = piece(random.randint(1,7),blockScreen)
    nextBlock    = piece(random.randint(1,7),blockScreen)
    nextBlock.blitimage(screen, 1)
    currentBlock2 = piece(random.randint(1,7),blockScreen2)
    nextBlock2    = piece(random.randint(1,7),blockScreen2)
    nextBlock2.blitimage(screen, 1)
    block_moved = 1
    block_moved2 = 1

    if pygame.font:
     font = pygame.font.Font(None, 40)
cscoreText=font.render(str(currentscore),0,(cScorePos[0],cScorePos[1],cScorePos[2]))
     cscoreTextpos = cscoreText.get_rect()
cscoreTextpos.topright=(cScoreTopPos[0],cScoreTopPos[1])
levelText=font.render(str(currentlevel),0,(levelPos[0],levelPos[1],levelPos[2]))
     levelTextpos = levelText.get_rect()
     levelTextpos.topright=(levelTopPos[0],levelTopPos[1])
     screen.blit(cscoreText, cscoreTextpos)
     screen.blit(levelText, levelTextpos)
 cscoreText2=font.render(str(currentscore2),0,(cScorePos[0],cScorePos[1],cScorePos[2]))
     cscoreTextpos2 = cscoreText2.get_rect()
     cscoreTextpos2.topright=(cScoreTopPos1[0],cScoreTopPos1[1])
levelText2=font.render(str(currentlevel2),0,(levelPos[0],levelPos[1],levelPos[2]))
     levelTextpos2 = levelText2.get_rect()
     levelTextpos2.topright=(levelTopPos2[0],levelTopPos2[1])
     screen.blit(cscoreText2, cscoreTextpos2)
     screen.blit(levelText2, levelTextpos2)

2.4       Game Control
            Dalam bermain game ini dibutuhkan kontrol-kontrol permainan pada keyboard. Untuk pergeseran balok ke arah kiri, kanan, bawah dalam papan game digunakan program seperti di bawah ini :

def moveleft(self):
        if (self.blocks[0].xGrid + self.xVal) > 0:
            self.xVal -= 1
            self.moveclick.play()
        self.xVelocity = -(1)


def moveright(self):
        if (self.blocks[2].xGrid + self.xVal) < 9:
            self.xVal += 1
            self.moveclick.play()
        self.xVelocity = 1


def movedown(self):
        if ((self.blocks[3].yGrid + self.yVal) < 19):
            self.yVal += 1
            self.yVelocity = 1

            Dalam kontrol permainan, penulis menggunakan keyboard sebagai alat inputnya. Untuk pemain pertama kontrol yang digunakan adalah tombol a untuk bergerak ke kiri, tombol d untuk bergerak ke kanan, tombol s untuk bergerak ke bawah, dan tombol w untuk merubah posisi balok yang diinginkan. Dengan program sebagai berikut :

if gameOver == 0:
     if event.key == K_a:
           if not gridcollision(currentBlock, gameGrid, 1):
                currentBlock.moveleft()
                block_moved = 1
     elif event.key == K_d:
           if not gridcollision(currentBlock, gameGrid, 2):
                currentBlock.moveright()
                block_moved = 1
     if event.key == K_s:
           if not gridcollision(currentBlock, gameGrid, 3):
                currentBlock.movedown()
                block_moved = 1
     if event.key == K_w:
                currentBlock.rotateright(gameGrid)
                block_moved = 1

elif event.type == KEYUP:
     if gameOver == 0:
           if (event.key == K_a) or (event.key == K_d):
                currentBlock.xVelocity = 0
                currentBlock.timer = 0
           if event.key == K_s:
                currentBlock.yVelocity = 0


            Untuk pemain kedua kontrol yang digunakan adalah tombol kiri untuk bergerak ke kiri, tombol kanan untuk bergerak ke kanan, tombol bawah untuk bergerak ke bawah, dan tombol atas untuk merubah posisi balok yang diinginkan :


     if event.key == K_LEFT:
           if not gridcollision(currentBlock, gameGrid2, 1):
                currentBlock2.moveleft()
                block_moved2 = 1
     elif event.key == K_RIGHT:
           if not gridcollision(currentBlock, gameGrid2, 2):
                currentBlock2.moveright()
                block_moved2 = 1
     if event.key == K_DOWN:
           if not gridcollision(currentBlock, gameGrid2, 3):
                currentBlock2.movedown()
                block_moved2 = 1
     if event.key == K_UP:
                currentBlock2.rotateleft(gameGrid2)
                block_moved2 = 1

     if gameOver2 == 0:
if (event.key == K_LEFT) or (event.key == K_RIGHT):
                currentBlock2.xVelocity = 0
                currentBlock2.timer = 0
           if event.key == K_DOWN:
                currentBlock2.yVelocity = 0

            Untuk memunculkan gambar game over, penulis menggunakan program seperti di bawah ini :

     def GameOver(screen):
           gameoverimage = load_image("gameover.gif")
           screen.blit(gameoverimage, (180, 200))
           pygame.display.flip()
           while(1):
                for event in pygame.event.get():
                     if event.type == QUIT:
                                return True
                     elif event.type == KEYDOWN:
                                if event.key == K_ESCAPE:
                                return False
                                elif event.key == K_RETURN:
                                return True

            Setelah sudah dibuat, selanjutnya untuk menggabungkan semua agar pemain pertama dan pemain kedua dapat bermain dalam satu tampilan., penulis menggunakan program di bawah :

     pygame.display.flip()
if not ( currentBlock.xVelocity == 0 and currentBlock.yVelocity == 0 and block_moved == 0 ):
           
            screen.blit(titlescreen, (0,0))
            screen.blit(bggrid, (gridPos1[0],gridPos1[1]))
            screen.blit(bggrid, (gridPos2[0],gridPos2[1]))
           
            nextBlock.blitimage(screen, 1)
            nextBlock2.blitimage(screen, 1)
           
            gameGrid.blitgrid(screen)
            gameGrid2.blitgrid(screen)
           
            currentBlock.blitimage(screen, 0)
            currentBlock2.blitimage(screen, 0)
           
            if pygame.font:
                screen.blit(cscoreText, cscoreTextpos)
                screen.blit(levelText, levelTextpos)

                screen.blit(cscoreText2, cscoreTextpos2)
                screen.blit(levelText2, levelTextpos2)
               
            block_moved = 0
            block_moved2 = 0
           
        pygame.display.flip()
if not ( currentBlock2.xVelocity == 0 and currentBlock2.yVelocity == 0 and block_moved2 == 0 ):
           
            screen.blit(titlescreen, (0,0))
            screen.blit(bggrid, (gridPos1[0],gridPos1[1]))
            screen.blit(bggrid, (gridPos2[0],gridPos2[1]))
           
            nextBlock.blitimage(screen, 1)
            nextBlock2.blitimage(screen, 1)
           
            gameGrid.blitgrid(screen)
            gameGrid2.blitgrid(screen)
           
            currentBlock.blitimage(screen, 0)
            currentBlock2.blitimage(screen, 0)
           
            if pygame.font:
                screen.blit(cscoreText, cscoreTextpos)
                screen.blit(levelText, levelTextpos)

                screen.blit(cscoreText2, cscoreTextpos2)
                screen.blit(levelText2, levelTextpos2)
               
            block_moved = 0
            block_moved2 = 0
           
        pygame.display.flip()

        if StatusGame == 2:
                return True
                   
2.5       Petunjuk Game
Dalam program yang menghasilkan game Tetris ini, penulis tidak memberikan cara bermain yang berbeda dari game Tetris lainnya. Game ini lebih mengandalkan kecepatan, ketepatan, dan strategi dalam memikirkan bagaimana caranya agar setiap baris dalam layar dapat dipenuhi oleh balok-balok yang telah disediakan oleh penulis di dalam game tersebut.

Setiap baris yang dapat dipenuhi oleh pemain dengan balok yang telah disediakan, akan mendapatkan nilai. Baris yang telah dipenuhi balok, selanjutnya akan menghilang dan baris yang di atasnya yang belum penuh satu baris akan menempati baris terbawah dari layar. Nilai yang diperoleh pemain tergantung dari banyak baris yang dapat penuh secara langsung oleh pemain.
Pemain pertama dapat menggeser baloknya dengan tombol huruf A, S, dan D untuk arah kiri, bawah, dan kanan. Lalu untuk merubah posisi balok dengan tombol huruf W pada keyboard. Sedangkan untuk pemain kedua dapat menggeser balok dengan menekan arah kiri, kanan, bawah untuk ke kiri, kanan, dan bawah. Lalu untuk merubah posisinya dengan menekan arah atas.

     III.    PENUTUP

3.1       Kesimpulan
           
Pengembangan game  DualTetris ini bertujuan untuk menstimulus otak anak usia 7 – 15 dimana terdapat dua pemain dalam satu layar yang diharapkan dapat membuat permainan tetris menjadi lebih menarik. Selain itu game tetris ini dapat di jadikan alternative untuk kalangan dewasa untuk mengisi waktu senggang atau penghilang kejenuhan. Dalam pembuatan game ini penulis menggunakan bahasa pemograman pyton  program pygame. Namun pada game Dualtetris ini penulis belum dapat menyimpat data statistic pemain dan nilai pemain , serta game ini hanya dapat dijalankan pada komputer yang telah terinstal Pyton dan Pygame sebelumnya.

Sumber :
http://andikafisma.wordpress.com/kelebihan-kelemahan-dan-aplikasi-10-bahasa-pemrograman/
http://catatan-sandy.blogspot.com/2013/02/bahasa-pemrograman-python.html
http://ghosthand5.blogspot.com/2013/03/apa-itu-python.html
http://id.wikipedia.org/wiki/Tetris

Selasa, 10 Juni 2014

Perencanaan pembuatan mini game "Dual Tetris" dengan menggunakan PyGame dan Python 2.4.1. (T2)

Pada tugas softskill kali ini saya ingin membuat atau memodifikasi sebuah mini game yaitu game Dual Tetris. Maksud dari pembuatan game ini sendiri yaitu dapat dijadikan pelajaran yaitu ketangkasaan seseorang dan hiburan bagi kalangan anak-anak dengan usia 12 tahun sampai orang dewasa.

Cara bermain game ini tidak jauh beda dengan tetris biasa, bedanya disini game ini bisa dilakukan 2 user karna disini saya menyediakan dua buah kolom permainan. User pertama atau yang berada diposisi kanan dalam menjalankan permainan ini dapat menggunakan keyboard arah(atas, bawah, kiri dan kanan)dengan fungsi masing-masing sebagi berikut, arah atas digunakan untuk merubah bentuk objek atau merotate objek, arah bawah digunakan untuk mempercepat laju objek untuk sampai kebawah, arah kiri dan kanan digunakan untuk memindahkan posisi objek yang berada ditengah kolom untuk bergeser kearah kanan atau kiri sesuai yang diinginkan user. Dan untuk user kedua atau yang berada diposisi kiri dalam menjalankan permainan ini dapat menggunakan keyboard huruf(W,S,A,D) dengan fungsi masing-masing sebagi berikut, huruf W digunakan untuk merubah bentuk objek atau merotate objek, huruf S digunakan untuk mempercepat laju objek untuk sampai kebawah, huruf A dan D digunakan untuk memindahkan posisi objek yang berada ditengah kolom untuk bergeser kearah kanan atau kiri sesuai yang diinginkan user.

Bentuk game ini sendiri terdapatnya kolom yang ukuran 20x10 dengan background pada kolom masing-masing berwarna biru, putih campuran keduanya. Pada objek sendiri saya memberikan warna warni dengan maksud agar setiap user dapat membedakan objek satu dengan yang lain. Pada game ini saya memberikan level. Untuk memenangkan game ini user satu dan dua harus beradu cepat dan tangkas. Semakin banyaknya objek yang tersusun secara horizontal maka skor akan bertambah dan level pun akan naik.

Dalam pembuatan game ini saya menggunakan PyGame dan Python 2.4.1 dengan alasan bahasa pemrograman ini bersifat modular dan memiliki tata bahasa yang jernih dan mudah dipelajari. Python merupakan bahasa pemrograman yang freeware atau perangkat bebas dalam arti sebenarnya, tidak ada batasan dalam penyalinannya atau mendistribusikannya. Lengkap dengan source codenya, debugger dan profiler, antarmuka yang terkandung di dalamnya untuk pelayanan antarmuka, fungsi sistem, GUI (antarmuka pengguna grafis), dan basis datanya. Python dapat digunakan dalam beberapa sistem operasi, seperti kebanyakan sistem UNIX, PCs (DOS, Windows, OS/2), Macintosh, dan lainnya. Pada kebanyakan sistem operasi linux, bahasa pemrograman ini menjadi standarisasi untuk disertakan dalam paket distribusinya.bahasa pemograman Python ini tidak ada deklarasi tipe sehingga program menjadi lebih sederhana, singkat, dan fleksible dan juga Interaktif, dinamis dan alamiah.

Sumber :

Kamis, 01 Mei 2014

Justin Timberlake - Not A Bad Thing

[Verse 1]
Said all I want from you is to see you tomorrow
And every tomorrow, maybe you’ll let me borrow your heart
And is it too much to ask for every Sunday
And while we're at it, throw in every other day to start

I know people make promises all the time
Then they turn right around and break them
When someone cuts your heart open with a knife, and you're bleeding
But I could be that guy to heal it over time
And I won’t stop until you believe it
'Cause baby you’re worth it

[Chorus]
So don't act like it’s a bad thing to fall in love with me
'Cause you might fuck around and find your dreams come true, with me
Spend all your time and your money just to find out that my love was free
So don't act like it’s a bad thing to fall in love with me, me
It’s not a bad thing to fall in love with me, me

[Verse 2]
Now how about I’d be the last voice you hear tonight?
And every other night for the rest of the nights that there are
Every morning I just wanna see you staring back at me
'Cause I know that’s a good place to start

I know people make promises all the time
Then they turn right around and break them
When someone cuts your heart open with a knife, and you're bleeding
Don't you know that I could be that guy to heal it over time
And I won’t stop until you believe it
'Cause baby you’re worth it

[Chorus]
So don't act like it’s a bad thing to fall in love with me
'Cause you might fuck around and find your dreams come true, with me
Spend all your time and your money just to find out that my love was free
So don't act like it’s a bad thing to fall in love with me, me
It’s not a bad thing to fall in love with me, me
It’s not a bad thing to fall in love with me, me
Not such a bad thing to fall in love with me
(Not such a bad thing to fall in love with me)

No I won’t fill your mind
With broken promises and wasted time
And if you fall, you’ll always land right in these arms
These arms of mine

[Chorus]
Don't act like it’s a bad thing to fall in love with me
'Cause you might fuck around and find your dreams come true, with me
Spend all your time and your money just to find out that my love was free
So don't act like it’s a bad thing to fall in love with me, me
It’s not a bad thing to fall in love with me, me
Not such a bad thing to fall in love with me

Rabu, 19 Maret 2014

GAME

* Definisi
Game (permainan) secara umum adalah sebuah aktivitas rekreasi dengan tujuan bersenang-senang, mengisi waktu luang, atau berolahraga ringan. Permainan biasanya dilakukan sendiri atau bersama-sama. Sedangkan komputer game adalah permainan video yang dimainkan pada komputer pribadi, dan bukan pada konsol permainan, maupun mesin ding-dong.

Permainan komputer telah berevolusi dari sistem grafis sederhana sampai menjadi kompleks dan mutakhir. Namun, pasar permainan komputer di Amerika Serikat mulai menurun sejak tahun 1999, yaitu permainan yang menggunakan interaksi  dengan antarmuka pengguna melalui gambar yang dihasilkan oleh piranti video. 

Permainan video umumnya menyediakan sistem penghargaan–misalnya skor–yang dihitung berdasarkan tingkat keberhasilan yang dicapai dalam menyelesaikan tugas-tugas yang ada di dalam permainan.
Kata “video” pada “permainan video” pada awalnya merujuk pada piranti tampilan raster. Namun dengan semakin dipakainya istilah “video game”, kini kata permainan video dapat digunakan untuk menyebut permainan pada piranti tampilan apapun. Sistem elektronik yang digunakan untuk menjalankan permainan video disebut platform, contohnya adalah komputer pribadi dan konsol permainan.

Definisi Menurut beberapa orang lain :

# JOHN C BECK & MITCHELL WADE
Game adalah penarik perhatian yang telah terbukti. Game adalah lingkungan pelatihan yang baik bagi dunia nyata dalam organisasi yang menuntut pemecahan masalah secara kolaborasi

# IVAN C. SIBERO
Game merupakan aplikasi yang paling banyak digunakan dan dinikmati para pengguna media elektronik saat ini.

# SAMUEL HENRY
Game merupakan bagian tak terpisahkan dari keseharian anak, sedangkan sebagian orang tua menuding game sebagai penyebab  nilai anak turun, anak tak mampu bersosialisasi, dan tindakan kekerasan yang dilakukan anak.

# JOHN NAISBITT
Game merupakan sistem partisipatoris dinamis karena game memiliki tingkat penceritaan yang tidak dimiliki film.

# ALBERT EINSTEIN
Game adalah bentuk investigasi paling tinggi.

*Jenis-jenis game :

1. First person shooter
Jenis game ini menampilkan sudut pandang orang pertama, biasanya yang nampak hanya tangan dan senjata player saja. Contoh game ini adalah CS (Counter strike), Saurbatten, dll.

2.  Real time strategy
Game ini lebih menekankan pada kehebatan strategi pemainya, dan biasanya pemain tidak hanya memainkan satu karakter melainkan lebih dari satu karakter.

3. Fighting
Game ini menuntut pemainya untuk lincah, cepat tanggap, respon yang baik. Sedikit berbeda dari game fighting lainya yang hanya melawan AI atau komputer saja, melainkan game ini akan teruji jika pemain sudah bisa mengalahkan pemain lainya atau dengan kata lain game ini merupakan game multi player.

4.  Adventure
Berbeda dengan game lain yang menuntut pemainya untuk lincah, refleks, respon. Dalam game petualangan pemain dituntut kemampuan berfikirnya untuk menganalisa tempat secara visual, memecahkan teka-teki maupun menyimpulkan rangkaian peristiwa dan percakapan karakter, menggunakan benda-benda yang tepat dan diletakan di tempat yang tepat.



*Aplikasi yang mendukung pembuatan game

1. Adventure Maker
Aplikasi ini tak hanya dapat digunakan untuk membuat game untuk PC Windows. Anda pun dapat memanfaatkannya untuk membuat game jenis point-and-click untuk PSP (PlayStation Portable), iPhone, dan juga !Pod Touch. Selain itu, Adventure Maker juga dapat dipakai untuk membuat aplikasi multimedia, virtual tours, aplikasi edukasi, hingga presentasi.

Adventure Maker sangat mudah digunakan. Anda tak perlu melakukan scripting atau pemrograman untuk dapat membuat game. Yang perlu Anda lakukan hanya mengimpor gambar ke aplikasi, menambah sejumlah titik untuk menghubungkan gambar dengan gambar lainnya, dan proses selanjutnya dilakukan oleh aplikasi.

Saat menciptakan software untuk Windows, aplikasi yang mendukung Windows XP dan Vista ini menyediakan fitur “Load/Save Game” functions, inventory items, 360-degree interactive panoramas, dukungan untuk format Flash, karakter untuk pembuatan game third-person, full-screen transitions, efek air dan asap, hingga dukungan untuk 30 lebih format file multimedia.

2. 3D Game Studio
Aplikasi ini merupakan aplikasi yang sangat baik untuk edukasi, simulasi dan juga tentunya untuk pembuatan game. Aplikasi ini menyediakan kemudahan dalam membangun game baik 2D maupun 3D, khususnya RPG (Role Playing Game). Bahkan dengan aplikasi ini, pengguna dapat membangun game berbasis format multiplayer, meskipun belum mendukung tampilan tiga dimensi.

Arena permainan ini dapat dibuat dengan menggunakan komponen yang tersedia, seperti background air, tanah, atau udara. Penggunaannya pun sangat fleksibel, dan Anda dapat menerapkannya dalam tiga lapisan obyek.

Begitupun untuk pengelolaan karakter Anda boleh membuat sebanyak-banyaknya karakter. Setiap aspek untuk karakter tersebut bisa diset, seperti status, visual, behavoiur, dan perlengkapan karakter saat dimainkan. Karakter di dalam aplikasi ini dibagi dua: karakter yang dapat dimainkan dan yang tidak.
3D Game Studio adalah aplikasi yang terbaik untuk belajar membuat game 2D atau 3D, karena tutorial-nya lengkap, contohnya juga banyak, plugin yang disediakan pun banyak, bagi yang bisa programming lebih bagus lagi karena ada API buat bahasa pemrograman seperti Delphi, .NET C#.

3. Alice
Alice adalah sebuah aplikasi yang dirancang agar kuliah pemrograman dapat lebih mudah dimengerti dengan menampilkan gambar-gambar 2D atau 3D yang bisa dimanipulasi. Saat ini banyak dipakai di sekolah-sekolah atau kampus di Amerika.

Tampilan aplikasi menyenangkan, karena mirip aplikasi edukasi anak-anak. Dengan warna ceria dan paket komponen game yang memadai, proses pembuatan game dapat dilakukan tanpa melakukan pemrograman. Namun, jika Anda memahami sedikit dasar pemrograman dan ilmu logika, itu akan sangat membantu dalam pembuatan game.

Aplikasi ini berbasis Java, sehingga disarankan komputer kita sudah terinstall Java Virtual Machine, untuk Windows XP, Vista atau 7 biasanya sudah ada Java Virtual Machine sehingga tidak perlu khawatir.

Sumber : 

Senin, 30 Desember 2013

water modeling

Nama Kelompok  : 1. Andini Latief
                             2. Destry Nur Wahyuningtyas
                             3. Lala Yulia Prawitasari
                             4. Reza Febrianto
                             5. Stefani Dwitia


Kata Pengantar Buku ini ditulis atas keinginan dan dorongan berbagai pihak untuk menciptakan karya Mahasiswa yang tak saja perlu menguasai knowledge dan skill di bidangnya. Tetapi juga perlu menguasai skill-skill pendukung lainnya yang lazim disebut dengan soft skill. Penguasaan softskill ini sangat menentukan di dalam kesuksesan kerja. Sayangnya penguasaan skill tak dapat dilakukan dengan cara pelatihan singkat ataupun kursus singkat. Tetapi harus dilalui dengan pengalaman dan latihan dengan durasi yang lama. Softskill sendiri sangat terkontekstualisasikan dengan bidang-bidang yang digeluti. Oleh karena itu Universitas Gunadarma meningkatkan softskill mahasiswa melalui pemberian mata kuliah tertentu yang dilakukan dengan metoda Soft Skill. Sehingga pemahaman materi kuliah tercapai, peningkatan softskill juga tercapai. Buku ini pun menggambarkan Attitude yang diperoleh dari pengalaman kerja atau pengalaman selama studi. Di dalam pelajaran dengan menggunakan metoda softskill ini, diharapkam mahasiswa dapat meningkatkan kemampuan soft-skillnya bersama-sama dengan peningkatkan knowledgee yang didapaktan. Softskill yang dimiliki mahasiswa atau lulusan saat ini dirasakan saat ini masih kurang. Kemampuan tersebut antara lain: Kemampuan verbal , Kemampuan tulisan , Kemampuan teamwork Buku Water Modelling ini diuraikan semua tentang bentuk bentuk air tersebut perubahannya , dan permodelan air tanah Sistematika dan gaya bahasa dibuat sederhana sehingga pemhbaca dapat mudah memahaminya Dengan berkembangnya teknologi , dan krisisnya sumber daya alam maka agar dapat melalukan pengembangan lebih lanjut tentang sumber daya yang melimpah maka dengan ini kami membuat sebuah dasar teori-teori dari permodelan air itu sendiri . BAB I PENDAHULUAN Meningkatnya urbanisasi dan industrialisasi memiliki efek mendalam pada sumber daya air pada umumnya dan airtanah pada khususnya, hal tersebut terkait erat dengan pemakaian airtanah untuk mencukupi kebutuhan hidup serta untuk proses produksi (Foster dkk., 1998). Hendrayana (2010) menyatakan bahwa isu utama masalah airtanah pada perkembangan suatu kota di Indonesia adalah interaksi antara urbanisasi dengan sistem airtanah di bawahnya, apalagi jika kota tersebut terletak di atas suatu sistem akuifer bebas. Interaksi ini sangat tergantung pada pola dan tahapan perkembangan kota. Secara umum, selain pemompaan airtanah yang berlebihan, efek area urban terhadap sistem airtanah dapat dibagi menjadi dua hal lagi yakni area urban merubah sistem imbuhan airtanah bahkan siklus imbuhan airtanah, dengan memodifikasi sumber imbuhan dan memunculkan keberadaan sumber-sumber imbuhan baru atau yang disebut sebagai urban sewage sources Oleh karena hal-hal tersebut di atas setidaknya terdapat tiga masalah yang berkaitan dengan sistem airtanah yang berada di bawah suatu kota yaitu: (1) fluktuasi penurunan muka airtanah (2) pencemaran airtanah (3) efeknya terhadap struktur teknik bawah permukaan airtanah. Konsep pengelolaan airtanah di Indonesia pada awalnya menggunakan paradigma lama yang bersifat konvensional, yaitu pengelolaan air tanah hanya berdasarkan pengelolaan sumur produksi ( well management) tanpa memperhatikan akuifer secara rinci. Puradimaja (2006) menyebutkan bahwa pendekatan konvensional well managementini memiliki banyak kelemahan yang mendasar antara lain: a.tidak diketahuinya secara real potensi dari setiap akuifer yang dieksploitasi b.tidak dapat mengoptimumkan eksploitasi airtanah setiap akuifer c.tidak dapat mengendalikan kualitas airtanah pada sumur produksi d.tidak dapat mengendalikan perubahan lingkungan bawah permukaan misalnya pencemaran airtanah,amblesan tanah dan eksploitasi airtanah yang berlebihan \Oleh sebab itu saat inidikembangkan konsep pengelolaan airtanah yang berbasis cekungan airtanah. Dalam Undang-Undang Nomor 7 tahun 2004 tentang Sumber Daya Air, dinyatakan bahwa pengelolaan airtanah didasarkan pada cekungan airtanah. Dengan demikian pengelolaan, wewenang dan tanggung jawab pemeriKata Pengantar Buku ini ditulis atas keinginan dan dorongan berbagai pihak untuk menciptakan karya Mahasiswa yang tak saja perlu menguasai knowledge dan skill di bidangnya. Tetapi juga perlu menguasai skill-skill pendukung lainnya yang lazim disebut dengan soft skill. Penguasaan softskill ini sangat menentukan di dalam kesuksesan kerja. Sayangnya penguasaan skill tak dapat dilakukan dengan cara pelatihan singkat ataupun kursus singkat. Tetapi harus dilalui dengan pengalaman dan latihan dengan durasi yang lama. Softskill sendiri sangat terkontekstualisasikan dengan bidang-bidang yang digeluti. Oleh karena itu Universitas Gunadarma meningkatkan softskill mahasiswa melalui pemberian mata kuliah tertentu yang dilakukan dengan metoda Soft Skill. Sehingga pemahaman materi kuliah tercapai, peningkatan softskill juga tercapai. Buku ini pun menggambarkan Attitude yang diperoleh dari pengalaman kerja atau pengalaman selama studi. Di dalam pelajaran dengan menggunakan metoda softskill ini, diharapkam mahasiswa dapat meningkatkan kemampuan soft-skillnya bersama-sama dengan peningkatkan knowledgee yang didapaktan. Softskill yang dimiliki mahasiswa atau lulusan saat ini dirasakan saat ini masih kurang. Kemampuan tersebut antara lain: Kemampuan verbal , Kemampuan tulisan , Kemampuan teamwork Buku Water Modelling ini diuraikan semua tentang bentuk bentuk air tersebut perubahannya , dan permodelan air tanah Sistematika dan gaya bahasa dibuat sederhana sehingga pemhbaca dapat mudah memahaminya Dengan berkembangnya teknologi , dan krisisnya sumber daya alam maka agar dapat melalukan pengembangan lebih lanjut tentang sumber daya yang melimpah maka dengan ini kami membuat sebuah dasar teori-teori dari permodelan air itu sendiri . BAB I PENDAHULUAN Meningkatnya urbanisasi dan industrialisasi memiliki efek mendalam pada sumber daya air pada umumnya dan airtanah pada khususnya, hal tersebut terkait erat dengan pemakaian airtanah untuk mencukupi kebutuhan hidup serta untuk proses produksi (Foster dkk., 1998). Hendrayana (2010) menyatakan bahwa isu utama masalah airtanah pada perkembangan suatu kota di Indonesia adalah interaksi antara urbanisasi dengan sistem airtanah di bawahnya, apalagi jika kota tersebut terletak di atas suatu sistem akuifer bebas. Interaksi ini sangat tergantung pada pola dan tahapan perkembangan kota. Secara umum, selain pemompaan airtanah yang berlebihan, efek area urban terhadap sistem airtanah dapat dibagi menjadi dua hal lagi yakni area urban merubah sistem imbuhan airtanah bahkan siklus imbuhan airtanah, dengan memodifikasi sumber imbuhan dan memunculkan keberadaan sumber-sumber imbuhan baru atau yang disebut sebagai urban sewage sources Oleh karena hal-hal tersebut di atas setidaknya terdapat tiga masalah yang berkaitan dengan sistem airtanah yang berada di bawah suatu kota yaitu: (1) fluktuasi penurunan muka airtanah (2) pencemaran airtanah (3) efeknya terhadap struktur teknik bawah permukaan airtanah. Konsep pengelolaan airtanah di Indonesia pada awalnya menggunakan paradigma lama yang bersifat konvensional, yaitu pengelolaan air tanah hanya berdasarkan pengelolaan sumur produksi ( well management) tanpa memperhatikan akuifer secara rinci. Puradimaja (2006) menyebutkan bahwa pendekatan konvensional well managementini memiliki banyak kelemahan yang mendasar antara lain: a.tidak diketahuinya secara real potensi dari setiap akuifer yang dieksploitasi b.tidak dapat mengoptimumkan eksploitasi airtanah setiap akuifer c.tidak dapat mengendalikan kualitas airtanah pada sumur produksi d.tidak dapat mengendalikan perubahan lingkungan bawah permukaan misalnya pencemaran airtanah,amblesan tanah dan eksploitasi airtanah yang berlebihan \Oleh sebab itu saat inidikembangkan konsep pengelolaan airtanah yang berbasis cekungan airtanah. Dalam Undang-Undang Nomor 7 tahun 2004 tentang Sumber Daya Air, dinyatakan bahwa pengelolaan airtanah didasarkan pada cekungan airtanah. Dengan demikian pengelolaan, wewenang dan tanggung jawab pemerintah, Pemerintah Provinsi dan pemerintah Kabupaten /Kota didasarkan pada cekungan airtanah. Oleh karenanya diperlukan kesatuan pandangan mengenai cekungan airtanah dan batas-batasnya. Airtanah pada dasarnya adalah sebuah sumber daya yang tersembunyi, karena itu studi tentang airtanah di bawah kedua kondisi batas alami dan buatan memerlukan teknik pemodelan dalam aplikasinya. Selama beberapa dekade terakhir, model simulasi komputer untuk menganalisis aliran dalam sistem airtanah telah memainkan peranan yang semakin meningkat dalam pendekatan evaluasi untuk pengelolaan dan pengembangan airtanah (Todd and Mays, 2005). Pemodelan aliran airtanah salah satu alat utama yang digunakan dalam ilmu hidrogeologi untuk penilaian potensi sumber daya dan prediksi dampak di masa depan akibat perubahan kondisi lingkungan. Pe modelan airtanah menggambarkan proses aliran airtanah menggunakan persamaan matematika didasarkan pada asumsi penyederhanaan tertentu (Kumar, 2006). Oleh sebab itu pemodelan aliran airtanah berdasarkan konsep cekungan airtanahmenjadi pokok bahasan dalam penulisanilmiah ini. Dibahas pula contoh pemodelan airtanah di Cekungan Neckar Jerman sebagai pemahaman aplikasi pemodelan airtanah Cekungan Semarang Demak yang masih dalam tahap pembentukan konseptual model. BAB II WATER MODELING water modelling Dalamkimia komputasi adalah model klasik air yang digunakan untuk simulasi cluster air cairan air , dan larutan air dengan pelarut eksplisit. Model ini menggunakan perkiraan dari mekanika moleku  Banyak model yang berbeda telah diusulkan, mereka dapat diklasifikasikan oleh jumlah poin yang digunakan untuk mendefinisikan model (atom plus situs dummy), apakah struktur yang kaku atau fleksibel, dan apakah model termasuk polarisasi efek. Sebuah alternatif untuk model air eksplisit adalah dengan menggunakan solvasi implisit Model, juga dikenal sebagai model kontinum, contoh yang akan menjadi COSMO solvasi Model. BAB III PERANGKAT LUNAK YANG MENDUKUNG WATER MODELING BABIV PENGAPLIKASIAN DENGAN BLANDER BABAV PENUTUP INGIN PDFNYA .. KIRIM PERMINTAAN LEWAT EMAIL .