Jumat, 17 Oktober 2014

Perusahaan Bergerak Di Bidang IT

Pada tugas softskill kali ini mahasiswa diminta untuk membuat sebuah tulisan yang berisi profil perusahaan yang bergerak di bidang Bisnis Informatika. Perusahaan yang ingin saya tampilkan yaitu PT. Fortuna Informatika Nusantara yang bergerak di bidang Informatika dan Struktur Jaringan (Network). Sebelumnya saya akan memberikan pengertian tentang bisnis. Sebagai berikut :

Pengertian bisnis :
Bisnis adalah suatu organisasi yang menjual barang atau jasa kepada konsumen atau bisnis lainnya, untuk mendapatkan laba.

Bentuk kepemilikan bisnis :
·         - Perusahaan perseorangan adalah bisnis yang kepemilikannya dipegang oleh satu orang. Pemilik perusahaan perseorangan memiliki tanggung jawab tak terbatas atas harta perusahaan. Artinya, apabila bisnis mengalami kerugian, pemilik lah yang harus menanggung seluruh kerugian itu.
·         - Persekutuan adalah bentuk bisnis dimana dua orang atau lebih bekerja sama mengoperasikan perusahaan untuk mendapatkan profit. Sama seperti perusahaan perseorangan, setiap sekutu (anggota persekutuan) memiliki tanggung jawab tak terbatas atas harta perusahaan. Persekutuan dapat dikelompokkan menjadi persekutuan komanditer dan firma.
·         - Perseroan adalah bisnis yang kepemilikannya dipegang oleh beberapa orang dan diawasi oleh dewan direktur. Setiap pemilik memiliki tanggung jawab yang terbatas atas harta perusahaan.
·         - Koperasi adalah bisnis yang beranggotakan orang-orang atau badan hukum koperasi dengan melandaskan kegiatannya berdasarkan prinsip koperasi sekaligus sebagai gerakan ekonomi rakyat yang berdasarkan asas kekeluargaan. Koperasi bertujuan untuk menyejahterakan anggotanya. Karateristik utama koperasi yang membedakan dengan badan usaha lain adalah anggota koperasi memiliki identitas ganda. Identitas ganda maksudnya anggota koperasi merupakan pemilik sekaligus pengguna jasa koperasi.

Aspek-aspek bisnis :
1.      Kegiatan individu dan kelompok
2.      Penciptaan nilai
3.      Penciptaan barang dan jasa
4.      Keuntungan melalui transaksi

Elemen dan Sistem Bisnis :
  1. Modal (capital) : Sejumlah uang yang digunakan dalam menjalankan kegiatan bisnis
  2. Bahan-bahan (materials) : Merupakan faktor produksi yang diperlukan dalam melaksanakan aktifitas bisnis untuk diolah menghasilkan barang dan jasa yang dibutuhkan masyarakat.
  3. Sumber Daya Manusia (SDM) : Kualifikasi SDM yaitu memiliki kemampuan kompetitif dan berkualitas tinggi.
  4. Ketrampilan Manajemen (Management Skill) : Sistem manajemen yang dijalankan berdasarkan prosedur dan tata kerja manajemen.


Jenis Kegiatan Bisnis :

 

Profil Perusahaan :


Alamat      : Jl. Cengkeh 16 No. 19, Kota, Jakarta Barat, Indonesia
Telepon     : (021) 690 4433
Fax            : (021) 692 3568
PT. Fortuna Informatika Nusantara merupakan perusahaan yang bergerak di bidang Informatika & Struktur Jaringan (Network) baik LAN ataupun WAN, Rack System (Server & Telco Rack), Instalasi Data, Instalasi Voice, Instalasi Power dan Sistim Perkabelan Terstruktur. Sejak didirikan pada tahun 1998.

Sebagai Distributor yang memproritaskan kualitas, PT. Fortuna Informatika Nusantara menyediakan produk-produk terbaik dalam memberikan solusi Teknologi Informasi secara maksimal, dengan harga sesuai dengan anggaran perusahaan. Hingga saat ini telah banyak perusahaan-perusahaan yang mempercayakan solusi Teknologi Informasi kepada PT. Fortuna Informatika Nusantara.

Dengan dukungan dari Authorized Principal, jaminan Ketersediaan Produk terbaik dengan harga yang sesuai dengan anggaran perusahaan, After Sales Service yang terjamin, Tenaga Ahli Profesional, menjadikan PT. Fortuna Informatika Nusantara sebagai pilihan utama untuk menjadikan Solusi di bidang Teknologi Informasi.

Visi dan Misi :
Visi
Dengan berkelimpahan rahmat Allah, mengutamakan kualitas, value, dan servis, menjadi perusahaan ICT terbesar nasional dan internasional.

Misi
PT. Fortuna Informatika Nusantara adalah sebuah team yang berkomitmen, positif, disiplin, sportif konsekuen, serta konsisten, dengan orang - orang yang sukses selalu berkembang untuk menjadi seimbang, integral dan jujur. Kami akan bekerja di dalam 14 budaya dan meyakinkan semua orang mengimani dan menjalankan 14 budaya, sehingga mendapatkan keunggulan.

Kami bergerak pada bisnis Teknologi Informatika, di dalam suasana kompetisi yang positif, dengan mereka yang mau berkompetisi bersama kami secara positif, dengan berpola pikir win to win. Kami akan selalu mendidik diri kami sendiri, team - team di dalam perusahaan kami dan klien - klien kami dengan membuat pelatihan - pelatihan bisnis dan engineering di dalam atau di luar perusahaan, dan kami akan selalu menciptakan lingkungan belajar yang positif, menyenangkan serta menghibur, sehingga meningkatkan keahlian - keahlian, baik individu, team, dan perusahaan.

Produk - produk dan jasa - jasa kami merupakan kualitas terbaik, berkelimpahan dengan nilai tambah dan selalu mengikuti trend pasar, dan selalu berkembang secara aktif serta dinamis, sehingga nilainya untuk uang dan hasil di dalam dan di luar perusahaan akan menjadi nilai tambah dengan menggunakan metodologi terbaru dan paling efektif yang pernah ada.

Klien - klien PT. Fortuna Informatika Nusantara, walaupun mereka kecil, menengah maupun besar ukurannya, akan kami bantu, dan bisa mengambil komitmen kami dan mengembalikan komitmen mereka kepada PT. Fortuna Informatika Nusantara. Kami dan mereka akan berpikir maju ke depan, mau belajar, bertumbuh dan berkembang, dan mau bekerja sebagai pemain team di dalam pengembangan. Klien - klien kami akan dipilih lebih berdasarkan perilaku positif dan jujur.

Tampilan Website :

 
Bidang Usaha :
Ada 5 bidang usaha bisnis yang ditekuni oleh PT. Fortuna Informatika Nusantara,
diantaranya :
•  Racking system (Server, Telekomunikasi, dan Data center)
•  Infrastruktur jaringan (LAN dan WAN)
•  Sistem perkabelan terstruktur (Data, Voice, dan Power)
•  Perangkat keamanan jaringan
•  Power back up system
Produk :
·      FortunaRack
·      Fortuna Fiber
·      Hubbell Premise Wiring
·      UPS GE
·      CNet
 Sumber : www.ptfortuna.com
               http://splashurl.com/knmgsxd

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