Sabtu, 20 Maret 2021

Teori Komputasional dan Implementasi Di Bidang Lain

 

Pengertian Komputasi


Komputasi sebetulnya bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Hal ini ialah apa yang disebut dengan teori komputasi, suatu sub-bidang dari ilmu komputer dan matematika. Selama ribuan tahun, perhitungan dan komputasi umumnya dilakukan dengan menggunakanpena dan kertas, atau kapur dan batu tulis, atau dikerjakan secara mental, kadang-kadang dengan bantuan suatu tabel. Namun sekarang, kebanyakan komputasi telah dilakukan dengan menggunakan komputer.


Teori komputasi 


Adalah cabang ilmu komputer dan matematika yang membahas apakah dan bagaimanakah suatu masalah dapat dipecahkan pada model komputasi, menggunakan algoritma. Bidang ilmu ini terutama membahas hal terkait komputabilitas dan kompleksitas, dalam kaitannya dengan formalisme komputasi.
Komputasi bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Hal ini ialah apa yang disebut dengan teori komputasi, suatu sub-bidang dari ilmu komputer dan matematika. Selama ribuan tahun, perhitungan dan komputasi umumnya dilakukan dengan menggunakan pena dan kertas, atau kapur dan batu tulis, atau dikerjakan secara mental, kadang-kadang dengan bantuan suatu tabel. Namun sekarang, kebanyakan komputasi telah dilakukan dengan menggunakan komputer.
Secara umum iIlmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu (sains). Dalam penggunaan praktis, biasanya berupa penerapan simulasi komputer atau berbagai bentuk komputasi lainnya untuk menyelesaikan masalah-masalah dalam berbagai bidang keilmuan, tetapi dalam perkembangannya digunakan juga untuk menemukan prinsip-prinsip baru yang mendasar dalam ilmu.
Bidang ini berbeda dengan ilmu komputer (computer science), yang mengkaji komputasi, komputer dan pemrosesan informasi. Bidang ini juga berbeda dengan teori dan percobaan sebagai bentuk tradisional dari ilmu dan kerja keilmuan. Dalam ilmu alam, pendekatan ilmu komputasi dapat memberikan berbagai pemahaman baru, melalui penerapan model-model matematika dalam program komputer berdasarkan landasan teori yang telah berkembang, untuk menyelesaikan masalah-masalah nyata dalam ilmu tersebut.

Komputasi juga sering diartikan sebagai sebuah komputer secara fisik. Sebagai contoh dari sistem fisik yaitu komputer digital, komputer quantum, komputer penganalisa DNA, dan komputer molekular. Sudut pandang ini dipelajari di cabang ilmu teori fisik yang disebut Physic of Computation. Bahkan ada sudut pandang yang lebih radikal berbasis dalil Digital Physic yang menyatakan bahwa evolusi alam semesta itu sendiri adalah sebuah proses komputasi – disebut Pancomputationalism.
Teori komputasi dibagi lagi menjadi 3 ranting :

  1. Teori Otomata (automata theory)
  2. Teori Komputabilitas (computability theory)
  3. Teori Kompleksitas (computational complexity theory)

Teori komputabilitas bertujuan untuk memeriksa apakah persoalan komputasi dapat dipecahkan pada suatu model komputasi teoritis. Dengan kata lain, teori komputabilitas mengklasifikasikan persoalan sebagai dapat dipecahkan (solvable) atau persoalan yang tidak dapat dipecahkan (unsolvable). Teori kompleksitas bertujuan untuk mengkaji kebutuhan waktu dan ruang untuk memecahkan persoalan yang diselesaikan dengan pendekatan yang berbeda-beda.
Dengan kata lain, teori kompleksitas mengklasifikasikan persoalan sebagai persoalan mudah (easy) atau persoalan sukar (hard). Teori komputabilitas memperkenalkan beberapa konsep yang digunakan di dalam teori kompleksitas. Teori otomata mengacu pada definisi dan sifat-sifat model komputasi. Di dalam teori komputasi, model komputasi yang sering dipakai adalah Mesin Turing.
Beberapa model komputasi :
  1. Finite State Automata (FSA)/Finite State Machine (FSM)
  2. Push Down Automata (PDA)
  3. Mesin Turing (Turing Machine) atau TM


Komputasi Modern


Komputasi modern bisa disebut sebuah konsep sistem yang menerima intruksi-intruksi dan menyimpannya dalam sebuah memory, memory disini bisa juga dari memory komputer. Oleh karena pada saat ini kita melakukan komputasi menggunakan komputer maka bisa dibilang komputer merupakan sebuah komputasi modern. Konsep ini pertama kali digagasi oleh John Von Neumann (1903-1957). Dalam kerjanya komputasi modern menghitung dan mencari solusi dari masalah yang ada, dan perhitungan yang dilakukan itu meliputi:

  1. Akurasi
  2. Kecepatan
  3. Problem Volume Besar
  4. Modelling
  5. Kompleksitas

Komputasi modern terbagi menjadi tiga macam, yaitu :

Mobile Computing atau komputasi bergerak adalah kemajuan teknologi komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa kabel dan mudah dibawa dan mudah di pindah – pindahkan. Contoh dari perangkat komputasi bergerak, seperti smartphone, GPS, dll.
Grid Computing atau komputasi grid menggunakan komputer yang terpisah oleh geografis, didistribusikan dan terhubung oleh jaringan untuk menyelesaikan masalah komputasi skala besar, ada beberapa daftar yang dapat digunakan untuk mengenali sistem komputasi grid, adalah:

  • Sistem untuk koordinat sumber daya komputasi tidak dibawah kendali pusat. 
  • Sistem menggunakan standart dan protocol yang terbuka. 
  • Sistem mencoba mencapai kualitas pelayanan yang canggih, yang lebih baik diatas kualitas komponen individu pelayanan komputasi grid.

Cloud Computing atau Komputasi cloud merupakan gaya komputasi yang terukur dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet, Komputasi cloud menggambarkan pelengkap baru, konsumsi, dan layanan IT berbasis model dalam internet dan biasanya melibatkan ketentuan dari keterukuran dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet.

Perbedaan diantara ketigannya adalah:
Komputasi Mobile menggunakan teknologi komputer yang bekerja seperti handphone, sedangkan komputasi grid dan cloud menggunakan komputer. Biaya untuk tenaga komputasi mobile lebih mahal dibandingkan dengan komputasi grid dan cloud. Komputasi mobile tidak membutuhkan tempat dan mudah dibawa kemana – mana, sedangkan grid dan cloud membutuhkan tempat yang khusus.
Untuk komputasi mobile, proses tergantung si pengguna. Komputasi grid proses tergantung pengguna mendapatkan server atau tidak, dan komputasi cloud prosesnya membutuhkan jaringan internet sebagai penghubungnya.

Implementasi Teori Komputasi


Implementasi Komputasi Modern pada Bidang Ekonomi

Implementasi pada ilmu pengetahuan ekonomi adalah mempelajari agent-based computational modeling, computational econometrics dan statistika, komputasi keuangan, computational modeling of dynamic macroeconomic systems, pemrograman yang didesain khusus untuk komputasi ekonomi, dan pengembangan alat bantu dalam pendidikan komputasi ekonomi.Karena dibidang ekonomi pasti memiliki permasalahan yang harus dipecahkan oleh algoritma contohnya adalah memecahkan teori statistika untuk memecahkan permasalahan keuangan.

Salah satu contoh komputasi di bidang ekonomi adalah komputasi statistik. Komputasi statistik  adalah jurusan yang mempelajari teknik pengolahan data, membuat program, dan analisis data serta teknik penyusunan sistem informasi statistik seperti penyusunan basis data, komunikasi data, sistem jaringan, dan diseminasi data statistik. Komputasi dapat digunakan untuk memecahkan masalah ekonomi contohnya seperti Data Mining, dengan data mining, sebuah perusahaan dapat memecahkan masalah dengan cara yang seefektif mungkin.

Implementasi Komputasi Modern pada Bidang Kimia

Implementasi komputasi modern di bidang kimia adalah Computational Chemistry yaitu penggunaan ilmu komputer untuk membantu menyelesaikan masalah kimia, contohnya penggunaan super komputer untuk menghitung struktur dan sifat molekul. 

Istilah kimia teori dapat didefinisikan sebagai deskripsi matematika untuk kimia, sedangkan kimia komputasi biasanya digunakan ketika metode matematika dikembangkan dengan cukup baik untuk dapat digunakan dalam program komputer. Perlu dicatat bahwa kata “tepat” atau “sempurna” tidak muncul di sini, karena sedikit sekali aspek kimia yang dapat dihitung secara tepat. Hampir semua aspek kimia dapat digambarkan dalam skema komputasi kualitatif atau kuantitatif hampiran.

Implementasi Komputasi Modern pada Bidang Matematika.

Menyelesaikan sebuah masalah yang berkaitan dengan perhitungan matematis, namun dalam pengertian yang akan dibahas dalam pembahasan komputasi modern ini merupakan sebuah sistem yang akan menyelesaikan masalah matematis menggunakan komputer dengan cara menyusun algoritma yang dapat dimengerti oleh komputer yang berguna untuk menyelesaikan masalah manusia. 

Terdapat numerical analysis yaitu sebuah algoritma dipakai untuk menganalisa masalah – masalah matematika.Contohnya, penerapan teknik-teknik komputasi matematika meliputi metode numerik, scientific computing, metode elemen hingga, metode beda hingga, scientific data mining, scientific process control dan metode terkait lainnya untuk menyelesaikan masalah-masalah real yang berskala besar.

Implementasi Komputasi Dalam Bidang Geografi

Geografi adalah ilmu yang mempelajari tentang lokasi serta persamaan, dan perbedaan (variasi) keruangan atas fenomena fisik, dan manusia di atas permukaan bumi. Komputasi dalam bidang geologi biasanya di gunakan untuk peramalan cuaca, di Indonesia khususnya ada salah satu instansi Negara dengan nama BMKG (Badan Meteorologi, Klimatologi, dan Geofisika) yakni instansi negara yang meneliti mengamati tentang metereologi klimatologi kualitas udara dan geofisika supaya tetap sesuai dengan perundang undangan yang berlaku di Indonesia.

Implementasi Komputasi modern pada bidang Fisika

Implementasi komputasi modern di bidang fisika ada Computational Physics yang mempelajari suatu gabungan antara Fisika, Komputer Sains dan Matematika Terapan untuk memberikan solusi pada “Kejadian dan masalah yang kompleks pada dunia nyata” baik dengan menggunakan simulasi juga penggunaan algoritma yang tepat. Pemahaman fisika pada teori, eksperimen, dan komputasi haruslah sebanding, agar dihasilkan solusi numerik dan visualisasi / pemodelan yang tepat untuk memahami masalah Fisika.Untuk melakukan pekerjaan seperti evaluasi integral, penyelesaian persamaan differensial, penyelesaian persamaan simultan, mem-plot suatu fungsi/data, membuat pengembangan suatu seri fungsi, menemukan akar persamaan dan bekerja dengan bilangan kompleks yang menjadi tujuan penerapan fisika komputasi. 

Banyak perangkat lunak ataupun bahasa yang digunakan, baik MatLab, Visual Basic, Fortran, Open Source Physics (OSP), Labview, Mathematica, dan lain sebagainya digunakan untuk pemahaman dan pencarian solusi numerik dari masalah-masalah pada Fisika komputasi.

Implementasi Komputasi modern pada bidang Geologi

Pada bidang geologi teori komputasi biasanya digunakan untuk pertambangan, sebuah sistem komputer digunakan untuk menganalisa bahan-bahan mineral dan barang tambang yang terdapat di dalam tanah. Contohnya, Pertambangan dan digunakan untuk menganalisa bahan-bahan mineral dan barang tambang yang terdapat di dalam tanah.

Selasa, 27 Oktober 2020

Pengiriman data pada Data Link Layer

 

Untuk melakukan pengiriman data diperlukan kombinasi antara pengalamatan secara fisik dan pengalamatan secara logic. Media Access Control adalah sebuah pengelolaan (manajemen) bagaimana suatu host dapat mentransmisikan data melalui modem.



Ketika dua computer meletakkan frame di atas media akses (contoh : kabel jaringan) secara simultan (berbarengan) maka akan terjadi collision (tabrakan), yang mengakibatkan data yang ditransmisikan akan hilang atau rusak. Solusinya adalah frame akan dikirimkan secara bergantian.



Sebuah komputer yang akan mengirim data ke jaringan pertama-tama memastikan bahwa jaringan sedang tidak dipakai untuk transfer dari dan oleh host komputer lainnya.

Fungsi kontol media akses pada shared media yang digunakan adalah melakukan deteksi komunikasi di dalam jaringan.





Rabu, 21 Oktober 2020

Tips Membuat Company Profile yang Menarik

 


Di era yang serba mudah seperti sekarang ini, ada banyak orang yang memutuskan untuk memulai bisnis-bisnis pertama mereka. Mulai dari bidang sandang, pangan, hingga meliputi bidang sehari-hari.

Di antara proses pembuatan bisnis dan perusahaan itulah kemudian banyak diantara tim-tim kecil mereka yang mulai melakukan proses brainstorming atau berdiskusi bersama-sama untuk mengonsep perusahaan baru mereka.

Lebih jauh lagi salah satu hal yang seringkali dirancang, baik di awal-awal pendirian perusahaan ataupun di tengah-tengah berjalannya perusahaan rintisan ini, adalah soal proses pembuatan company profile.

Apa itu Company Profile?

Company profile merupakan salah satu cara perusahaan untuk memperkenalkan perusahaannya secara professional, biasanya berisi identitas perusahaan secara umum dan produk yang dijual dengan tujuan menarik minat pembacanya.

Company profile merupakan salah satu cara yang cukup menarik untuk memberi tahu orang di luar bahwa perusahaan Anda sudah berjalan. Artinya Anda harus bisa membuat company profile sedemikian rupa sehingga hanya dalam beberapa halaman atau slide saja orang sudah paham bisnis yang Anda jalankan.

Company profile yang baik haruslah berisi mengenai siapa Anda (perusahaanmu), sejarah perusahaan, visi misi dan nilai perusahaan (terkadang perlu dicantumkan), hingga seputar produk dan layanan yang dibuat oleh perusahaan Anda.

Semakin panjang company profile tentu akan membuat Anda bisa berkreasi serta memasukkan lebih banyak informasi. Mungkin Anda berpikir dengan membuat company profile yang cukup panjang maka orang-orang akan tertarik dengan perusahaan dan produk yang Anda jual.

Tips agar Company Profile lebih menarik :

Buat company profile sesederhana mungkin.

Sederhana yang kami tuliskan disini bukan berarti membuat company profile dengan font Times New Roman ukuran 12, berwarna hitam dan berlatar belakang putih. Justru Anda bisa membuat company profile sekreatif mungkin sesuai dengan tim yang Anda punya, tentu menjadi keuntungan bila di dalam tim yang Anda miliki terdapat orang yang jago mendesain sesuatu. Meski demikian tetap ingat bahwa buatlah company profile sesederhana namun sepadat mungkin. Intinya Anda wajib bisa memasukkan sebanyak-banyaknya informasi penting mengenai perusahaanmu ke dalam company profile namun tanpa membuatnya terlihat membosankan.

Menentukan target pasar dengan benar.

Kesalahan yang seringkali dilakukan oleh orang-orang yang membuat company profile adalah tidak menentukan target pasar mereka dengan benar. Hal ini tentu membuat isi yang ditulis di dalamnya menjadi tidak relevan terhadap para pembaca.

Gunakan platform seluas mungkin.

Setelah bisa membuat desain dan konten company profile yang sesuai dengan target pasar, tips dari suksesnya company profile adalah platform bermain yang tepat.

Di era informatika macam sekarang ini misalnya, tentu tidak tepat apabila Anda masih membuat company profile cetak dan disebarkan manual secara luas. Tentu Anda yang menyasar target anak muda malah akan kehilangan mereka, karena anak muda cenderung menyukai informasi yang didapat dari gadget-gadget mereka.

Sementara Anda yang memiliki target pasar lansia misalnya, tentu tidak tepat pula bila justru memutuskan untuk membuat company profile secara online saja misalnya. Tentu para lansia yang jarang bermain gadget tidak akan terpapar dengan company profile Anda.

Tips mudah untuk mengakali beberapa permasalahan ini adalah dengan membuat company profile sekaligus di banyak platform. Proporsinya tinggal Anda sesuaikan dengan target pasar yang Anda punya, perbanyak proporsi platform dimana target pasar Anda ada disana.

Gunakan data yang akurat.

Data yang tertuang dalam comprof harus terjamin keakuratannya. Hal ini sangat penting karena data yang akurat akan menambah kepercayaan pembaca terhadap perusahaan Anda. Dari informasi brosur comprof yang Anda buat terkadang pembaca langsung konfirmasi terkait informasi yang tertuang dalam brosur comprof. Terutama dalam hal kelebihan yang dimiliki perusahaan buatlah yang sesuai dengan kenyataan yang ada. Meskipun niat Anda untuk menarik pembaca agar menggunakan produk atau jasa perusahaan tapi kejujuran tetap harus diutamakan. Hal ini berguna menjaga kepercayaan pembaca untuk efek jangka panjang.

Informasikan data yang Up To Date.

Informasi yang Anda sajikan juga sebaiknya yang up to date. Misalnya saja Anda menawarkan sebuah promo potongan harga sampai 50% di bulan ini. Maka promo tersebut harus ada ketika brosur disebarkan. Jangan sebarkan brosur kalau ternyata promonya sudah terlewat karena hanya akan mengecewakan pembaca. Supaya comprof yang Anda buat selalu up to date maka bisa diatur cara pembuatannya. Anda bisa coba membuatnya enam bulan sekali atau jika ada perubahan informasi penting dalam perusahaan langsung ganti brosur yang lama. Agar lebih jelas, sertakan juga up date info perusahaan terkini bisa langsung hubungi kontak yang tertera.

Sajikan Company Profile dengan cara yang kreatif.

Pembuatan comprof yang biasa saja tidak akan menarik pembaca untuk sekedar melihat atau membacanya. Biasanya kalau sajian comprof biasa saja cuma akan dibuang begitu saja. Sayang sekali bukan kalau brosur yang dibuat hanya untuk dibuang di tempat sampah. Agar citra perusahaan baik dan bisa memberikan kesan profesional maka Anda bisa membuat comprof yang kreatif. Mulai dari pemilihan Bahasa, gunakanlah Bahasa yang verbal dan visual. Jadikan brosur yang bisa membangkitkan minat, perhatian dan kesan positif. Dengan begitu akan mudah dinikmati dan diterima pembaca.

Demikian beberapa tips yang dapat digunakan dalam membuat Company Profile yang menarik, semoga bermanfaat!

Jumat, 02 Oktober 2020

Essay Tentang Perusahaan IT

Microsoft Corporation.

Siapa yang tidak tahu tentang Microsoft Corporation? Tentunya kita semua tahu apa itu Microsoft, yaitu sebuah perusahaan besar berbasis IT yang didirikan oleh Bill Gates dan Paul Allen pada 4 April 1975. Nama Microsoft sendiri diambil dari gabungan antara Micro komputer dan Software. Berawal dari mengembangkan dan menjual penerjemah BASIC untuk Altair 8800. Perusahaan ini berhasil mendominasi pasar sistem operasi komputer pribadi dengan MS-DOSnya pada pertengahan 1980. Lalu Microsoft membuat Sistem Operasi Unix dengan versinya sendiri yang bernama Xenix. Karena itu banyak perusahaan IT yang berusaha untuk bekerja sama dengan Microsoft, salah satunya adalah IBM. Pada tahun 1980 IBM menyetujui kontrak dengan Microsoft untuk menyediakan versi CP/M OS, yang akan dipakai dijajaran IBM Personal Komputer (IBM PC) mendatang. Banyak sekali inovasi yang diciptakan oleh Microsoft dalam perkembangan IT. Namun, pada 1983 Paul Allen mengundurkan diri setelah dirinya dinyatakan terkena penyakit Hodgkin.

Hingga saat ini produk-produk perangkat lunaknya yang paling terkenal adalah sistem operasi Microsoft Windows, Microsoft Office, serta Browser Internet Explorer dan Microsoft Edge. Selain itu Microsoft juga menciptakan produk perangkat keras seperti konsol video game Xbox, Microsoft Surface (komputer layer sentuh) serta smartphone Microsoft yang berbasis Windows Mobile. Microsoft adalah salah satu pembuat perangkat lunak terbesar di dunia berdasarkan pendapatannya, dan salah satu perusahaan paling berpengaruh di dunia.

Pada tahun 2015, Microsoft berhasil mendominasi pasar sistem operasi IBM-PC yang kompatibel, dan pasar software perkantoran melalui Microsoft Officenya. Microsoft juga memproduksi berbagai perangkat lunak konsumen dan perusahaan lainnya untuk desktop, laptop, tab, gadget, server, dll. Termasuk mesin pencarian internet buatannya yaitu Bing.

Pada tahun 2000, Steve Ballmer menggantikan posisi Bill Gates sebagai CEO, dan kemudian menciptakan sebuah strategi “perangkat dan layanan” dan mulai dengan mangakusisi Danger Inc. pada tahun 2008, Microsoft memasuki pasar produksi komputer pribadi untuk pertama kalinya, lalu pada 2012 Microsoft meluncurkan Microsoft Surface komputer tablet dan kemudian membuat Microsoft Mobile melalui akusisi divisi perangkat dan layanan Nokia.

Lalu pada tahun 2014 Steve Ballmer digantikan posisinya oleh Satya Nadella sebagai CEO yang pada akhirnya ia berhasil membuat Microsoft sebagai perusahaan dengan nilai saham tertinggi. Hingga akhirnya pada tahun 2018 Microsoft berhasil melampaui Apple Inc. sebagai perusahaan publik yang paling bernilai di dunia dan menjadi perusahaan publil AS ketiga yang bernilai dari %1 triliun setelah Apple dan Amazon, masing-masing mencapai kapitalisasi pasar triliun dolar.

Tak bisa dipungkiri, dalam kehidupan kita sehari-hari kita sudah sangat bergantung pada produk-produk Microsoft. Mulai dari Microsoft Windows, Microsoft Office, dll. Karena kemudahan yang telah diciptakan ini kita sebagai pengguna jadi bisa lebih efisien dalam melakukan pekerjaan sehari-hari. Alasan saya membuat essay tentang perusahaan ini karena saya sangat terinspirasi dengan perusahaan ini yang mambuat saya tertarik dalam dunia IT.

Jumat, 10 Juli 2020

Tugas 4 Pengantar Teknologi Game


Perancangan Game Tic Tac Toe

Permainan tic tac toe merupakan permainan kertas yang dimainkan oleh 2 pemain, pemain hanya perlu menuliskan huruf X dan O pada bidang 3x3, bagi yang berhasil menuliskan huruf X atau O sejajar dalam satu garis, maka dia memenangkan permainan.

Dalam perancangan game tic tac toe menggunakan bahasa pemrograman python versi 3.6, dimana game ini menggunakan satu library pendukung yaitu library random. Library random merupakan library yang digunakan untuk menghasilkan angka secara acak.




Game sederhana ini kami buat dalam rangka memenuhi tugas kuliah Pengantar Teknologi Game.
Berikut ini merupakan penjelasan dari source code yang kami gunakan dalam game tersebut :

Pertama kita siapkan perulangan for kedalam list bernama variabel board
board=[i for i in range(0,9)]
player, computer = '',''

Untuk memenangkan game diperlukan kombinasi seperti dibawah ini.
winners=((0,1,2),(3,4,5),(6,7,8),(0,3,6),(1,4,7),(2,5,8),(0,4,8),(2,4,6))

Rangenya 1-10
tab=range(1,10)

Dibawah ini merupakan fungsi pada python bernama print_board yang digunakan untuk membuat board, dimana berisi bidang 3x3 (9 kotak).
def print_board():
    x=1
    for i in board:
        end = ' | '
        if x%3 == 0:
            end = ' \n'
            if i != 1: end+='---------\n';
        char=' '
        if i in ('X','O'): char=i;
        x+=1
        print(char,end=end)

Fungsi ini digunakan pada saat memainkan, terdapat 2 buah tanda yaitu huruf  X dan O. Jika kita sebagai user memainkan game ini, nanti komputer akan melawan kita dengan cara mencari bidak yg belum dipilih dengan menghasilkan nilai random dengan memunculkan angka batas tertinggi.
def select_char():
    chars=('X','O')
    if random.randint(0,1) == 0:
        return chars[::-1]
    return chars

Fungsi ini digunakan untuk kita sebagai user bisa bergerak dalam bidang permainan
def can_move(brd, player, move):
    if move in tab and brd[move-1] == move-1:
        return True
    return False

Fungsi ini untuk menentukan apakah pemain dapat memenangkan permainan atas komputer atau mengalami kekalahan.
def can_win(brd, player, move):
    places=[]
    x=0
    for i in brd:
        if i == player: places.append(x);
        x+=1
    win=True
    for tup in winners:
        win=True
        for ix in tup:
            if brd[ix] != player:
                win=False
                break
        if win == True:
            break
    return win

Fungsi ini digunakan untuk pemain agar dapat bergerak dalam bidang permainan
def make_move(brd, player, move, undo=False):
    if can_move(brd, player, move):
        brd[move-1] = player
        win=can_win(brd, player, move)
        if undo:
            brd[move-1] = move-1
        return (True, win)
    return (False, False)

Fungsi ini berisi AI dalam permainan, AI komputer digunakan untuk menggerakan bidang yg berisikan bot komputer. AI bergerakan secara random dengan cara menutup segala kemungkinan jalan yang dapat memenangkan pemain.
def computer_move():
    move=-1
    # If I can win, others don't matter.
    for i in range(1,10):
        if make_move(board, computer, i, True)[1]:
            move=i
            break
    if move == -1:
        # If player can win, block him.
        for i in range(1,10):
            if make_move(board, player, i, True)[1]:
                move=i
                break
    if move == -1:
        # Otherwise, try to take one of desired places.
        for tup in moves:
            for mv in tup:
                if move == -1 and can_move(board, computer, mv):
                    move=mv
                    break
    return make_move(board, computer, move)

Fungsi ini digunakan apabila bidak permainan sudah penuh, maka fungsi ini akan membalikan nilai bahwa bidak sudah penuh
def space_exist():
    return board.count('X') + board.count('O') != 9

Listing program ini merupakan program utama yang menghubungkan seluruh fungsi, disini menentukan apakah oemain dapat memenangkan permainan atau kalah. Disini jika pemain mengisikan nomor lebih dari angka 9, maka sistem akan memberitahukan pemain agar untuk memasukan angka yang benar
player, computer = select_char()
print('Player is [%s] and computer is [%s]' % (player, computer))
result='%%% Deuce ! %%%'
while space_exist():
    print_board()
    print('# Make your move ! [1-9] : ', end='')
    move = int(input())
    moved, won = make_move(board, player, move)
    if not moved:
        print(' >> coba lagi !')
        continue
    #
    if won:
        result='*** KAMU MENANG !!! ***'
        break
    elif computer_move()[1]:
        result='=== Kamu kalah ! =='
        break;

print_board()
print(result)

Berikut ini adalah demo game tic tac toe yang telah kamu buat :
Demikian penyampaian tugas yang telah kami buat, maaf jika masih banyak kekurangan dalam penulisan maupun pembuatan game tersebut.



ANGGOTA KELOMPOK :
MUHAMMAD ALFIANNUR MA'RUF (54417686)
MUHAMMAD ICHSAN (54417056)
MUHAMMAD RIZKY SAPUTRA (54417232)
MUTHIA AYU NINGTYAS (54417311)
NAUFAL ADIKA ARKANANTA (54417446)
PANCA MUHAMMAD YUSUF (54417676)


Rabu, 22 April 2020

Tugas 2 Pengantar Teknologi Game


Video berikut ini saya buat untuk memenuhi tugas kedua softskill: Pengantar Teknologi Game. Semoga video yang saya buat dapat bermanfaat. 

Teori Komputasional dan Implementasi Di Bidang Lain

  Pengertian Komputasi Komputasi sebetulnya bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan...