Wednesday, March 11, 2015

Tugas Softskill Pertemuan 1: Cloud Computing


Cloud Computing


Cloud Computing atau biasa disebut sebagai Komputasi Awan, merupakan gabungan pemanfaatan teknologi komputer(komputasi) dalam suatu jaringan yang berbasis internet untuk menjalankan suatu program atau aplikasi melalui komputer yang saling terkoneksi pada waktu yang sama, tetapi tidak semua terkoneksi melalui internet menggunakan cloud computing.

Pada cloud computing, semua data berada dan disimpan pada server internet, begitu pula dengan aplikasi ataupun software yang dibutuhkan oleh user. User tersebut harus terhubung dengan jaringan internet untuk bisa mengakses dan menjalankan aplikasi yang disimpan pada server tersebut.

Jika ingin mengakses server tersebut baik untuk keperluan membuka, menyimpan data ataupun menjalankan sebuah program, maka user tersebut harus melakukan login terlebih dahulu. Kemudian jika user ingin menjalankan sebuah aplikasi dan memberikan beberapa perintah pada aplikasi tersebut, maka perintah yang di input akan dikirimkan ke server melalui jaringan internet kemudian akan diolah atau di respon oleh server dan memberikan hasilnya kepada user tersebut, data hasil proses tersebut akan disimpan di komputer server, sehingga setiap kali user ingin membuka dan melihat data yang disimpan terakhir kali, data tersebut akan tetap tersedia di server cloud.


Layanan yang terdapat pada cloud computing :

1. Software as a Service (SaaS)
Merupakan layanan yang menyediakan aplikasi yang bisa langsung digunakan oleh user. Contohnya seperti gmail, twitter dan facebook.

2. Platform as a Service (PaaS)
Merupakan layanan yang menyediakan computing platform, atau tempat untuk menjalankan sebuah aplikasi yang telah dibuat oleh user. Contohnya seperti Google App Engine, Amazon Web Service dan Windows Azure.

3. Infrastructure as a Service (IaaS)
Merupakan layanan yang menyediakan infrastruktur teknik informatika berupa CPU, RAM, storage, bandwidth dan konfigurasi lain kepada pengguna yang digunakan untuk membangun komputer virtual. Contohnya TelkomCloud, BizNetCloud, dan Amazon EC2.


Manfaat Cloud Computing :

1. Semua Data tersimpan di Server secara terpusat
Salah satu keunggulan teknologi cloud adalah memungkinkan pengguna untuk menyimpan data secara terpusat di satu server berdasarkan layanan yang disediakan oleh penyedia layanan Cloud Computing itu sendiri. Selain itu, pengguna juga tak perlu repot repot lagi menyediakan infrastruktur seperti data center, media penyimpanan/storage dll karena semua telah tersedia secara virtual.
2. Keamanan Data
Keamanan data pengguna dapat disimpan dengan aman lewat server yang disediakan oleh penyedia layanan Cloud Computing seperti jaminan platform teknologi, jaminan ISO, data pribadi, dll.
3. Fleksibilitas dan Skalabilitas yang Tinggi
Teknologi Cloud menawarkan fleksibilitas dengan kemudahan data akses, kapan dan dimanapun kita berada dengan catatan bahwa pengguna (user) terkoneksi dengan internet. Selain itu, pengguna dapat dengan mudah meningkatkan atau mengurangi kapasitas penyimpanan data tanpa perlu membeli peralatan tambahan seperti hardisk. Bahkan salah satu praktisi IT kenamaan dunia, mendiang Steve Jobs mengatakan bahwa membeli memori fisik untuk menyimpan data seperti hardisk merupakan hal yang percuma jika kita dapat menyimpan nya secara virtual/melalui internet.
4. Investasi Jangka Panjang
Penghematan biaya akan pembelian inventaris seperti infrastruktur, hardisk, dll akan berkurang dikarenakan pengguna akan dikenakan biaya kompensasi rutin per bulan sesuai dengan paket layanan yang telah disepakati dengan penyedia layanan Cloud Computing. Biaya royalti atas lisensi software juga bisa dikurangi karena semua telah dijalankan lewat komputasi berbasis Cloud.


Mengapa Cloud Computing Dibutuhkan :

1. Reduction of costs
Tidak seperti di tempat hosting, biaya untuk menyebarkan aplikasi di cloud bisa dikurangi karena biaya hardware yang lebih rendah dan penggunaan yang lebih efektif dari sumber daya fisik.
2. Universal access
Cloud computing dapat memungkinkan pengontrolan jarak jauh oleh pegawai untuk mengakses aplikasi dan bekerja melalui internet.
3. Up to date software
Penyedia cloud computing juga akan dapat meng-upgrade perangkat lunak dari rilis software sebelumnya secara langsung melalui cloud.
4. Choice of application
Hal ini memungkinkan fleksibilitas bagi pengguna cloud untuk bereksperimen dan memilih pilihan terbaik untuk kebutuhan mereka. Cloud computing juga memungkinkan bisnis untuk menggunakan, akses dan hanya membayar untuk apa yang mereka gunakan, dengan waktu pelaksanaan yang cepat.
5. Potential to be greener and more economical
Jumlah rata-rata energi yang diperlukan untuk tindakan komputasi yang dilakukan di cloud jauh lebih kecil dari jumlah rata-rata energi yang digunakan jika melakukan tindakan komputasi konvensional. Hal ini karena organisasi yang berbeda dapat berbagi sumber daya fisik yang sama dengan aman, sehingga ebih efisien penggunaan sumber daya bersama.


Grid Computing

Grid computing adalah sekumpulan komputer yang terhubung satu dengan lainnya melalui internet atau jaringan yang lebih luas. Umumnya berada pada beberapa jaringan sendiri, dan tiap komputer memiliki metode pengamanan sendiri (certificate), yang harus dimiliki oleh komputer lainnya untuk dapat berinteraksi. Penggunanya menggunakan seluruh sumberdaya yang dimilikinya dan diharapkan dapat membuat semua komputer bekerja sesibuk mungkin. (Banyak komputer, banyak jaringan/Internet, pengamanan maksimal, penggunaan maksimal).


Jenis Grid Computing :
1. Gram (Grid Resources Allocation & Management)
Digunakan untuk mengatur seluruh sumberdaya komputasi yang tersedia dalam grid.
2. RFT/GridFTP (Reliable File Transfer/Grid File Transfer Protocol)
Digunakan agar pengguna dapa mengakses data yang berukuran besar dari komputasi yang tergabung dalam sistem yang efisien.
3. MDS (Monitoring and Discovery Service)
Digunakan untuk memonitoring proses komputasi yang sedang dijalankan agar dapat mengetahui masalah yang timbul segere.
4. GSI (Grid Security Infrastructure)
Digunakan untuk mengamankan sistem komputasi grid decara keseluruhan.

 Virtualisasi
  

Virtualisasi merupakan sebuah cara yang digunakan untuk menyembunyikan resource dalam sesuatu yang abstrak. Misalkan kita membuat virtual komputer didalam server, yang seakan-akan kita memiliki sistem sendiri, padahal itu merupakan virtual komputer yang aktif.

Bagian virtualisasi :

1. Virtualisasi Server
Disini hanya akan menggunakan 1 server untuk mengefisiensikan kinerja. Misalkan pada prosesor, memory dan storage. Contoh teknologi virtualisasinya VMWare dan Windows Server2008.

2. Virtualisasi Dekstop
Disini hanya memerlukan satu pusat untuk menghubungkan dengan yang lainnya.
 
Distributed Computing


Distributed computing berarti komputasi yang terdistribusi, dimana proses komputasi tidak terjadi dalam satu komputer saja akan tetapi didistribusikan ke beberapa komputer. Analoginya seperti kerja kelompok pembuatan Film, dimana masing-masing orang akan diberi tugas yang berbeda, namun pada akhirnya akan disatukan menjadi sebuah Film yang utuh.Contoh distribusi komputasi adalah parallel processing.

 Map Reduce & No SQL (Not Only SQL)

Merupakan sebuah pemrograman framework untuk membantu pemrosesan dan menjalakan data pararel dan algoritma yang didistribusikan pada sebuah cluster. Map Reduce merupakan konsep yang digunakan pada teknologi cloud yang dapat diterapkan dalam distributed computing. No SQL merupakan database sederhana yang berisi key dan value memache atau yang lainnya.


No SQL (Not Only SQL)

NoSQL adalah database yang tidak menggunakan realasi antar tabel dan tidak menyimpan data dalam format tabel kaku (kolom yang fix) seperti layaknya Relasional Database. Kelebihan NoSQL disbanding database relasional, NoSQL bisa menampung data terstruktur, semi terstruktur dan tidak terstruktur secara efisien dalam skala besar. Menggunakan OOP dalam pengaksesan atau manipulasinya.

Contoh implementasi  cloud computing :
Berikut ini adalah contoh penerapan cloud computing di bidang kesehatan. Cloud computing membantu meringankan masalah biaya dan meningkatkan pelayanan pada sebuah rumah sakit.




 Sumber Referensi :

Friday, October 17, 2014

Tugas Softskill : Fungsi dan Konsep Bisnis

Bisnis berasal dari business, busy atau sibuk. Sibuk dalam mengerjakan aktivitas atau suatu pekerjaan yang dapat menghasilkan keuntungan, dilakukan seorang diri/individu ataupun juga dengan kelompok/organisasi.
Dalam arti luas, bisnis dapat diartikan sebagai gambaran semua aktifitas dan institusi yang memproduksi barang & jasa dalam kehidupan sehari-hari.

·   Bisnis sebagai suatu sistem yang memproduksi barang dan jasa untuk memuaskan kebutuhan masyarakat (bussiness is then simply a system that produces goods and service to satisfy the needs of our society) [Huat, T Chwee,1990]
·     Bisnis merupakan suatu organisasi yang menyediakan barang atau jasa yang bertujuan untuk mendapatkan keuntungan [Griffin & Ebert]

Dari pendapat di atas dapat disimpulkan bahwa bisnis adalah kegiatan yang dilakukan perorangan/individu atau suatu organisasi yang menciptakan sebuah nilai dengan melakukan pembuatan barang dan jasa untuk memenuhi kebutuhan masyarakat dan mendapatkan keuntungannya.


Aspek-aspek bisnis:

Adapun aspek-aspek yang terdapat dalam bisnis adalah sebagai berikut :

1.  Kegiatan individu dan kelompok
Dilakukan sendiri atau bersama-sama dengan orang yang ingin menciptakan bisnis, agar kegiatan bisnis dapat berjalan lebih mudah dan lancar.

2.  Penciptaan nilai
Sebelum menciptakan barang dan jasa, dilihat dulu nilai apa yang dapat dihasilkan oleh barang yang akan diciptakan.

3.  Penciptaan barang dan jasa
Setelah penciptaan nilai disepakati, maka selanjutnya dilakukan penciptaan barang dan jasa.

4.  Keuntungan melalui transaksi
Setelah terciptanya barang dan jasa, maka akan terjadi proses transaksi yang nantinya akan menghasilkan keuntungan.


Fungsi bisnis dalam kepentingan mikro dan makro:


Fungsi Mikro Bisnis

Fungsi yang memiliki kontribusi terhadap pihak yang berperan secara langsung.

1.  Pekerja / Karyawan
Pekerja menginginkan gaji yang layak dari hasil kerjanya sementara manajer menginginkan kinerja yang tinggi yang ditunjukkan besarnya omzet penjualan dan laba.

2.  Dewan Komisaris
Memantau kegiatan dan mengawasi manajemen, memastikan kegiatan akan berjalan mencapai tujuan.

3.  Pemegang Saham
Pemegang saham memiliki kepentingan dan tanggung jawab tertentu terhadap perusahaan.


Fungsi Makro Bisnis

Fungsi yang memiliki kontribusi terhadap pihak yang berperan secara tidak langsung.

1.  Masyarakat sekitar perusahaan
Memberikan kontribusi kepada masyarakat sekitar sebagai bentuk tanggung jawab perusahaan.

2.  Bangsa dan Negara
Tanggung  jawab kepada Bangsa dan Negara yang diwujudkan dalam bentuk kewajiban membayar pajak.


Elemen dan Sistem Bisnis

1. Modal (Capital), uang yang akan digunakan dalam kegiatan bisnis.

2. Bahan (Materials), diperlukan untuk melaksanakan aktifitas yang kemudian akan diolah agar menghasilkan barang dan jasa.

3.   SDM (Human Resources), kualifikasi SDM  harus bersifat kompetitif dan berkualitas.

4. Keterampilan Manajemen (Management Skill), harus berdasarkan prosedur dan tata kerja.

Karakteristik Sistem Bisnis

  1. Bersifat kompleks agar jelas dan tidak sembarangan dapat ditiru oleh oknum lain, dan bersifat beraneka ragam agar menarik.
  2. Saling ketergantungan agar saling bekerjasama dan dapat berjalan dengan bisnis-bisnis lainnya guna mendapat hasil yang maksimal.
  3. Perubahan dan inovasi diperlukan agar konsumen selalu tertarik dengan produk yang ditawarkan tidak merasa bosan.



Bentuk Dasar Kepemilikan Bisnis

Sebuah bisnis dapat dimiliki oleh:
  1.      Perusahaan perorangan
  2.           Persekutuan
  3.        Perseroan
  4.        Koperasi.



Teknologi Informasi dan Dunia Bisnis

Zaman sekarang teknologi informasi memiliki pengaruh yang sangat kuat dalam hal bisnis. Banyaknya  pengguna smartphone belakangan ini membuat proses bisnis dapat dilakukan kapanpun dan dimanapun, karena melalukan proses bisnis tersebut dapat dilakukan secara on-line dan real time, sehingga informasi dan hasilnya dapat langsung dilihat saat itu juga.
Salah satu pemanfaatan teknologi informasi dalam bidang bisnis adalah E-commerce. E-commerce adalah perdagangan melalui jaringan komunikasi internet.

E-commerce diklasifikasikan dalam 3 tipe aplikasi, yaitu:

1.     Electronic Markets(Ems)
Sarana yang menggunakan teknologi informasi dan komunikasi untuk melakukan atau menyajikan penawaran dalam sebuah segmen pasar, sehingga pembeli dapat bertukar informasi dengan penjual tentang harga dan produk yang diwarkan.

2.     Electronic Data Interchange(EDI)
Sarana untuk mengefisienkan pertukaran data transaksi-transaksi regular yang berulang dalam jumlah besar antara organisasi-organisasi komersial. Memiliki standar pengkodean transaksi, sehingga organisasi tersebut dapat melakukan komunkasi secara langsung, sehingga terhindar dari kesalahan yang tidak disengaja dalam penanganan berkas ataupun intervensi dari manusia.

3.     Internet Commerce
Penggunaan internet yang berbasis teknologi informasi dan komunikasi untuk aktivitas perdagangan. Contohnya seperti iklan penjualan barang atau jasa. Transaksi yang terjadi berupa pembeli memilih kemudian memesan barang yang ditawarkan penjual melalui internet, lalu melakukan pembayaran melalui rekening, kemudian barang yang diinginkan akan dikirim melalui pos atau sarana lain.


 Peranan Teknologi Informasi dalam Bisnis

Teknologi informasi memiliki peranan yang besar dalam membantu manusia memecahkan permasalahan bisnis, seperti :
  1. meningkatkan produktivitas
  2. meningkatkan efektivitas
  3. meningkatkan efisiensi
  4. meningkatkan mutu
  5. meningkatkan kreativitas
  6. problem solving (pemecahan masalah).


Kita sebagai pengguna teknologi informasi harus memiliki tanggung jawab dalam hal penggunaan teknologi informasi tersebut. Sesuaikan dengan peraturan hukum yang berlaku, agar tidak terjadi kesalahan, baik itu pelanggaran hak cipta, privasi orang lain, ataupun kesalahan dalam penjagaan sebuah informasi yang dapat mengakibatkan hilang atau rusaknya sebuah informasi atau data, atau malah tersebar secara ilegal. Penggunaan yang baik dari teknologi informasi juga dapat memaksimalkan kinerja dari teknologi itu sendiri.





Tugas Softskill, individu, edisi semester 7.

Sekian tulisan dari saya, seperti biasa, terimakasih sudah membaca, semoga bermanfaat dan mohon maaf apabila ada kesalahan.
Saya Fajar,   caw !



Monday, July 7, 2014

Tugas softskill part 3 : Review Game

Disini saya akan melakukan review 3 buah Game yang menurut saya menarik dan akan dilihat dari beberapa sisi yaitu, dari Jenis game, apakah Dinamis atau Statis dan kemudian ada atau tidaknya AI/kecerdesan buatan dalam game tersebut.

Last Of Us

Ini adalah game yang berceritakan tentang sebuah virus yang dapat membuat manusia menjadi seperti zombie. Disini terdapat 2 karakter, pertama bernama Joel, dan satunya bernama Ellie yang hanya bisa kita pakai di beberapa chapter saja. Joel adalah sebuah ayah yang kehilangan anaknya saat virus ini terjadi, dan dia bertahan hidup hanya untuk Ellie, seorang perempuan kecil yang mengingatkan Joel kepada putrinya yang telah tiada. Mengapa game ini diberi nilai 10/10 pada setiap web game luar negeri adalah interaksi antar karakter itu membuat game lebih hidup bagaikan film, selain itu lawan kita bukan hanyalah zombie melainkan manusia juga, didalam game ini kita akan disuruh untuk berpikir bagaimana melawan musuh tersebut, misalkan peluru dalam pistol habis kalian akan menggunakan cara diam-diam daripada melawan nya secara langsung. Setiap musik pada game ini sangat membuat kita berdebar sekaligus membuat anda sedih.
Statik, dikarenakan game ini dituntut untuk menyelesaikan misi awal hingga akhir sehingga tidak ada interaksi yang terjadi.
Terdapat ai karena game ini melawan zombie yang mengetahui gerakan dan bunyi yang disebabkan oleh user. Apabila ai melihat user maka ai tersebut akan mengejarnya.

Euro Truck Simulator 2
Dan ini adalah game Euro Truck Simulator 2 atau biasa disingkat ETS2. game ini adalah sebuah simulator truck ekspedisi yang menggunakan map eropa. game ini cukup menarik karena bisa menggunakan beraneka ragam Merk Truck ternama, dan juga bisa memodifikasi nya. Game ini juga bisa dibilang realisitis karena pada saat memainkan game ini ada beberapa keadaan yang seperti aslinya, seperti supir yang bisa mengantuk, bensin yang habis, dan masih banyak yang lainnya.
Dinamis, Game ini bisa dibilang Dinamis dikarenakan pada saat memainkannya kita bisa menjalankan misi atau hanya sekedar berjalan - jalan saja.
Terdapat ai, Game ini memiliki AI karena jika tidak kita hanya berkendara sendirian dijalanan tanpa ada kendaraan lain.

Call Of Duty MW3
Dan game yang terakhir adalah COD MW3, game ini sangat seru karena teradapat beberapa pembaruan dari versi-versi COD sebelumnya . Infinity Ward mengungkapkan bahwa Modern Warfare 3 akan menampilkan Survival mode. Mode baru yang bernama Survival akan menampilkan dua pemain Bertempur sedangkan Semakin Lama Musuh Semakin Sulit Dilawan. Tidak seperti video game lain di mana musuh-musuh menetap di lokasi tetap, musuh di mode ini akan menelurkan sekitar pemain sehingga mereka bisa mendekati pemain dari lokasi taktis menguntungkan. Sebagai pemain melawan musuh, mereka akan mendapatkan uang. Lebih banyak uang diperoleh untuk mencetak headshots, memiliki akurasi tinggi dan mengambil lebih sedikit kerusakan secara keseluruhan. Untuk saling membunuh, mereka dapat menggunakan uang mereka untuk membeli barang-barang seperti senjata baru, upgrade dan amunisi. Contoh lain untuk mendapatkan lebih banyak uang adalah dengan berturut-turut membunuh musuh dengan cepat: membunuh satu musuh dan kemudian satu lagi setelah periode waktu yang lama tidak akan lagi sebagai bermanfaat sebagai membunuh dua musuh secara berurutan. Mode baru akan diintegrasikan dari peta multiplayer game, yang berarti bahwa semua peta multiplayers dapat dimainkan dengan mitra dalam mode bertahan hidup. Tetapi, pemain harus menaikan 'Pangkat' mereka untuk membuka lebih banyak peta multiplayers. Sama seperti Survival mode, pemain juga membutuhkan pangkat yang lebih tinggi untuk membuka peta/misi lain di Special Ops.
Statik, dikarenakan game ini dituntut untuk menyelesaikan misi awal hingga akhir sehingga tidak ada interaksi yang terjadi.
Terdapat ai, Game ini memiliki AI karena terdapat banyak rintangan yang akan menantang pemain game ini.
Sekian tulisan dari saya, seperti biasa, terimakasih sudah membaca, semoga bermanfaat dan mohon maaf apabila ada kesalahan.
Saya Fajar,   caw !

Wednesday, May 21, 2014

Tugas softskill part 2 : Membuat Game Sederhana

Tentang Game:
Game Take Me Out v2 ini atau disingkat TMO V2 ini adalah game yang saya kembangkan dari game Strawberry Prolog yang bernama "Labyrinth". di Game ini dilakukan beberapa pengembangan diantaranya adalah GUI yang lebih menarik beserta penambahan level dan suara. untuk itu langsung saja kita melihat screenshoot game ini :

1. Tampilan Awal



ditampilan awal game ini akan ada beberapa menu, diantaranya:

A. Pilih Level : Digunakan Untuk memilih tingkat kesulitan dalam permainan.
B. Keluar : Untuk mengakhiri dan keluar dari permainan
C. Cara Bermain : Adalah panduan untuk bermain game ini
D. Informasi : Adalah informasi tentang game ini

2. Tampilan Pilih Level


ditampilan Pilih level ini kita bisa memilih level yang diinginkan, mulai dari Pemanasan,Pemula,Menengah,Sulit dan Sangat Sulit. dan juga ada menu kembali untuk kembali lagi ke halaman awal, dan menu keluar untuk mengakhiri permainan.

3. Tampilan Cara Bermain


ditampilan cara bermain ini, maka begitu menu cara bermain di klik maka secara otomatis akan keluar Notepad yang berisikan cara bermain game ini.

4. Tampilan Informasi


Ditampilan Informasi ini pengguna akan ditampilkan pada sebuah informasi tentang game ini, mulai dari sejarah, game dasar, pembuat dan juga sumber referensi yang turut membantu dalam pembuatan game ini hingga akhirnya berhasil.

5. Tampilan saat Bermain


ini adalah tampilan saat permainan dimulai, Disini kita diharuskan menemukan Timmy yang berperan sebagai AI. dan pemain disini diperankan oleh sosok laki-laki pemilik timmy. pemain diharuskan menemukan Timmy sebelum waktu 15 detik habis.

6. Tampilan saat Menang


ini adalah tampilan yang keluar, jika pemain berhasil menemukan Timmy sebelum waktu habis. dan pemain bisa mengulangi permainan dengan cara memilih menu "Coba Lagi"

7. Tampilan saat Kalah


dan ini adalah tampilan yang keluar jika pemain gagal menemukan timmy.


Cara Pembuatan

Dalam pembuatan game ini, lebih banyak ke Codingan bahasa prolog. maka disini saya akan menampilkan codingan dalam pembuatan game ini. dan dalam game ini Folder yang berisikan background,foto,suara dll harus diletakan 1 Folder dengan file akhir game ini.

Source :

1. Codingan untuk menginisialisasi file-file pendukung seperti gambar dan suara :

?-
G_waktu := 10,
G_b1 is bitmap_image("Gambar\\b1.bmp",_),
G_info is bitmap_image("Gambar\\info.bmp",_),
G_b3 is bitmap_image("Gambar\\b3.bmp",_),
G_b2 is bitmap_image("Gambar\\b2.bmp",_),
G_user is bitmap_image("Gambar\\user.bmp",_),
G_ai is bitmap_image("Gambar\\ai.bmp",_),
G_ai2 is bitmap_image("Gambar\\ai.bmp",_),
XU := 18,
YU := 13,
 X := 1,
 Y := 1,
set(posAI(X,Y)),
set(posUSR(XU,YU)),

2. Codingan Untuk menampilkan Layar utama

%Menu utama
%LAYAR PERTAMA (1)
window(G_layar1,_,win_func1(_),"TMO2 Edisi Shaun The Sheep",100,0,700,550).
win_func1(init):-
button(_,_,level(_),"Pilih Level",10,450,100,40),
button(_,_,carabermain(_),"Cara Bermain",270,450,100,40),
button(_,_,informasi(_),"Informasi",400,450,100,40),
button(_,_,keluar(_),"Keluar",140,450,100,40).

win_func1(paint):-
draw_bitmap(0,0,G_b1,_,_),
beep("sound/shaunopen.wav").

3. Codingan untuk menampilkan jendela Informasi

informasi(press):-
close_window(G_layar1),
window(G_layar6,_,win_func6(_),"TMO2 Edisi Shaun The Sheep",100,0,830, 600).

%window untuk informasi
win_func6(paint):-
draw_bitmap(0,0,G_info,_,_),
beep("sound/Shaun6.wav").

win_func6(init):-
menu(normal, _, _, kembali1(_), "Kembali"),
menu(normal, _, _, keluar3(_), "Keluar").

keluar3(press):-
close_window(_).


4. Codingan untuk menampilkan jendela Cara Bermain :

carabermain(press):-
shell_execute("tutorial.txt").


5. Codingan untuk keluar dari permainan :

keluar(press):-
message("Keluar Permainan","Terimakasih telah bermain Take Me Out shaun sheep edition", i),
close_window(G_layar1).

level(press):-
close_window(G_layar1),


6. Codingan untuk tampilan jendela Layar kedua yang berisikan Level

%LAYAR KEDUA (2)
window(G_layar2,_,win_func2(_),"TMO2 Edisi Shaun The Sheep",100,0,830, 550).

win_func2(paint):-
draw_bitmap(0,0,G_b2,_,_),
beep("sound/shaun3.wav").

win_func2(init):-
button(_,_,level1(_),"Pemanasan",680,50,110,50),
button(_,_,level2(_),"Pemula",680,120,110,50),
button(_,_,level3(_),"Menengah",680,190,110,50),
button(_,_,level4(_),"Sulit",680,260,110,50),
button(_,_,level5(_),"Sangat Sulit",680,330,110,50),
menu(normal, _, _, kembali1(_), "Kembali"),
menu(normal, _, _, keluar1(_), "Keluar").

keluar1(press):-
message("Keluar Permainan","Terimakasih telah bermain Take Me Out shaun sheep edition", i),
close_window(G_layar2).

%LAYAR KETIGA (3)
win_func3(init) :-
  menu(normal, _, _, kembali(_), "Kembali"),
  menu(normal, _, _, keluar1(_), "Keluar").

mulai(press):-
G_Waktu := set_timer(_,G_Level,tm_func),
G_timer is set_timer(_,1.3,waktu_func).


keluar1(press):-
message("Keluar Permainan","Terimakasih telah bermain Take Me Out shaun sheep edition", i),
close_window(_).

kembali(press):-
close_window(_),
     window(G_layar2,_,win_func2(_),"TMO2 Edisi Shaun The Sheep",100,0,830, 550).

kembali1(press):-
close_window(_),
     window(G_layar1,_,win_func1(_),"TMO2 Edisi Shaun The Sheep",100,0,700,550).


cara(press):-
shell_execute("Cara Bermain.txt").

level1(press):-
G_Level := 0.5,
close_window(G_layar2),
window(G_layar3,_,win_func3(_),"TMO2 Edisi Shaun The Sheep",100,0,1200,750),
beep("sound/shaun4.wav"),
G_Waktu := set_timer(_,G_Level,gerakai_func),
G_timer is set_timer(_,1.3,waktu_func).

level2(press):-
beep("sound/shaun4.wav"),
G_Level := 0.4,
close_window(G_layar2),
window(G_layar3,_,win_func3(_),"TMO2 Edisi Shaun The Sheep",100,0,1200,750),
G_Waktu := set_timer(_,G_Level,gerakai_func),
G_timer is set_timer(_,1.3,waktu_func).

level3(press):-
beep("sound/shaun4.wav"),
G_Level := 0.4,
close_window(G_layar2),
window(G_layar3,_,win_func3(_),"TMO2 Edisi Shaun The Sheep",100,0,1200,750),
G_Waktu := set_timer(_,G_Level,gerakai_func),
G_timer is set_timer(_,1.3,waktu_func).


level4(press):-
beep("sound/shaun4.wav"),
G_Level := 0.2,
close_window(G_layar2),
window(G_layar3,_,win_func3(_),"TMO2 Edisi Shaun The Sheep",100,0,1200,750),
G_Waktu := set_timer(_,G_Level,gerakai_func),
G_timer is set_timer(_,1.3,waktu_func).


level5(press):-
beep("sound/shaun4.wav"),
G_Level := 0.1,
close_window(G_layar2),
window(G_layar3,_,win_func3(_),"TMO2 Edisi Shaun The Sheep",100,0,1200,750),
G_Waktu := set_timer(_,G_Level,gerakai_func),
G_timer is set_timer(_,1.3,waktu_func).




7. Codingan untuk mendesain bentuk labirin

%Kordinat untuk membuat labirin

v(0,0).   %Baris 0
v(1,0).
v(2,0).
v(3,0).
v(4,0).
v(5,0).
v(6,0).
v(7,0).                                                  
v(8,0).
v(9,0).
v(10,0).
v(11,0).
v(12,0).
v(13,0).
v(14,0).
v(15,0).
v(16,0).
v(17,0).
v(18,0).
v(19,0).

v(0,1). %Baris 1
v(7,1).
v(10,1).
v(18,1).
v(0,0).
v(0,0).
v(19,1).


v(0,2).   %Baris 2
v(1,2).
v(2,2).
v(3,2).
v(4,2).
v(6,2).
v(7,2).
v(8,2).
v(10,2).
v(12,2).
v(13,2).
v(14,2).
v(15,2).
v(16,2).
v(19,2).

v(0,3). %Baris 3
v(12,3).
v(16,3).
v(17,3).
v(0,0).
v(0,0).
v(0,0).
v(19,3).

v(0,4). %Baris 4
v(2,4).
v(4,4).
v(5,4).
v(6,4).
v(8,4).
v(9,4).
v(10,4).
v(11,4).
v(12,4).
v(13,4).
v(14,4).
v(16,4).
v(19,4).

v(2,5). %Baris 5
v(6,5).
v(10,5).
v(14,5).
v(16,5).
v(18,5).
v(19,5).
v(0,5).

v(2,6). %Baris 6
v(3,6).
v(4,6).
v(6,6).
v(7,6).
v(8,6).
v(10,6).
v(12,6).
v(14,6).
v(19,6).
v(19,6).
v(0,6).

v(0,7). %Baris 7
v(2,7).
v(4,7).
v(6,7).
v(8,7).
v(10,7).
v(14,7).
v(16,7).
v(17,7).
v(18,7).
v(19,7).

v(0,8). %Baris 8
v(4,8).
v(6,8).
v(8,8).
v(10,8).
v(12,8).
v(18,8).
v(19,8).

v(0,9). %Baris 9
v(1,9).
v(2,9).
v(3,9).
v(4,9).
v(6,9).
v(12,9).
v(14,9).
v(15,9).
v(16,9).
v(18,9).
v(19,9).

v(0,10). %Baris 10
v(6,10).
v(8,10).
v(9,10).
v(10,10).
v(12,10).
v(14,10).
v(19,10).

v(0,11). %Baris 11
v(2,11).
v(4,11).
v(10,11).
v(12,11).
v(14,11).
v(16,11).
v(17,11).
v(19,11).

v(19,12). %Baris 12
v(2,12).
v(4,12).
v(6,12).
v(7,12).
v(8,12).
v(10,12).
v(12,12).
v(14,12).
v(16,12).
v(0,12).

v(0,13). %Baris 13
v(4,13).
v(8,13).
v(12,13).
v(16,13).
v(19,13).

v(0,14).   %Baris 14
v(1,14).
v(2,14).
v(3,14).
v(4,14).
v(5,14).
v(6,14).
v(7,14).
v(8,14).
v(9,14).
v(10,14).
v(11,14).
v(12,14).
v(13,14).
v(14,14).
v(15,14).
v(16,14).
v(17,14).
v(18,14).
v(19,14).

win_func3(paint):-
  draw_bitmap(0,0,G_b3,_,_).
  pen(7,rgb(0,0,255)),
  put_v,



%Posisi user
posUSR(XU,YU),
C1 is XU*45,
D1 is YU*45,
draw_bitmap(C1,D1,G_user,_,_),



%Posisi AI
  posAI(X,Y),
  A1 is X*45,
  B1 is Y*45,
  brush(rgb(255, 0, 0)),% no pen
  draw_bitmap(A1,B1,G_ai,_,_),
  fail.



%Fungsi untuk menggerakan AI
gerakai_func(_):-
pen(1,rgb(255,255,255)),
posAI(X,Y),
posUSR(XU,YU),
G_XU:=45*XU,
G_YU:=45*YU,
G_X:=45*X,
G_Y:=45*Y,
new(X1,Y1,X,Y),
  A1 is X*45,
  B1 is Y*45,
  C1 is X*45+45,
  D1 is Y*45+45,
  A2 is X1*45,
  B2 is Y1*45,
  brush(rgb(255,255,255)),
  rect(A1, B1,C1, D1),
  brush(rgb(255, 0, 0)),
  draw_bitmap(A2,B2,G_ai,_,_),
  set(posAI(X1,Y1)),
  set(last(X,Y)),
  (G_XU=G_X->(G_YU=G_Y-> kill_timer(_,G_Waktu),
close_window(_),
wait(1),
XU := 18,
YU := 13,
  X := 1,
Y := 1,
G_waktu := 10,
set(posAI(X,Y)),
set(posUSR(XU,YU)),
window(G_layarmenang,_,menang_func(_),"Selamat ...",100,50,470,400))).

%Fungsi ai kekanan
try(X1,Y1,X,Y):-
  X1 is X + 1 - random(3),
  X1>=1,
  X1=<18 p="">  Xmin is X1,
  v(Xmin,Y) \= v(X,Y),
  not(v(Xmin,Y)),
  not(go_back(X1,Y)),
  Y1=Y.

%Fungsi ai kebawah
try(X1,Y1,X,Y) :-
  Y1 is Y + 1 - random(3),
  Y1>=1,
  Y1=<13 p="">  Ymin is Y1,
  v(X,Ymin) \= v(X,Y),
  not(v(X,Ymin)),
  not(go_back(X,Y1)),
  X1=X.

%Fungsi ai tidak tembus tembok
new(X1, Y1, X, Y) :-
  try(X1, Y1, X, Y), !.
new(X1, Y1, X, Y) :-
new(X1, Y1, X, Y).

go_back(X, Y):- last(X, Y),0


%Fungsi untuk pemain
%Batas atas
atas(X1,Y1,XU,YU):-
  Y1 is YU - 1,
  Y1>=1,
  Y1=<13 p="">  Ymin is Y1,
  not(v(XU,Ymin)),
  X1=XU.

%Batas bawah
bawah(X1,Y1,XU,YU):-
  Y1 is YU + 1,
  Y1>=1,
  Y1=<13 p="">  Ymin is Y1,
  not(v(XU,Ymin)),
  X1=XU.

%Batas kanan
kanan(X1,Y1,XU,YU):-
  X1 is XU + 1,
  X1>=1,
  X1=<18 p="">  Xmin is X1,
  not(v(Xmin,YU)),
  Y1=YU.

%batas kiri
kiri(X1,Y1,XU,YU):-
  X1 is XU - 1,
  X1>=1,
  X1=<18 p="">  Xmin is X1,
  not(v(Xmin,YU)),
  Y1=YU.

%Fungsi untuk menggerakan objek pemain ke atas
win_func3(key_down(38,_)) :-
pen(1,rgb(255,255,255)),
posAI(X,Y),
posUSR(XU,YU),
G_X:=45*X,
G_Y:=45*Y,
G_XU:=45*XU,
G_YU:=45*YU,
atas(X1,Y1,XU,YU),
  A1 is XU*45,
  B1 is YU*45,
  C1 is XU*45+45,
  D1 is YU*45+45,
  A2 is X1*45,
  B2 is Y1*45,
  brush(rgb(255,255,255)),
  rect(A1, B1,C1, D1),
draw_bitmap(A2,B2,G_user,_,_),
  set(posUSR(X1,Y1)),
  set(last(XU,YU)).

%Fungsi untuk menggerakan objek pemain ke bawah
win_func3(key_down(40,_)) :-
pen(1,rgb(255,255,255)),
posAI(X,Y),
posUSR(XU,YU),
G_X:=45*X,
G_Y:=45*Y,
G_XU:=45*XU,
G_YU:=45*YU,
bawah(X1,Y1,XU,YU),
  A1 is XU*45,
  B1 is YU*45,
  C1 is XU*45+45,
  D1 is YU*45+45,
  A2 is X1*45,
  B2 is Y1*45,
  brush(rgb(255,255,255)),
  rect(A1, B1,C1, D1),
draw_bitmap(A2,B2,G_user,_,_),
  set(posUSR(X1,Y1)),
  set(last(XU,YU)).

%Fungsi untuk menggerakan objek pemain ke kanan
win_func3(key_down(39,_)) :-
pen(1,rgb(255,255,255)),
posAI(X,Y),
posUSR(XU,YU),
G_X:=45*X,
G_Y:=45*Y,
G_XU:=45*XU,
G_YU:=45*YU,
kanan(X1,Y1,XU,YU),
  A1 is XU*45,
  B1 is YU*45,
  C1 is XU*45+45,
  D1 is YU*45+45,
  A2 is X1*45,
  B2 is Y1*45,
  brush(rgb(255,255,255)),
  rect(A1, B1,C1, D1),
draw_bitmap(A2,B2,G_user,_,_),
  set(posUSR(X1,Y1)),
  set(last(XU,YU)).

%Fungsi untuk menggerakan objek pemain ke kiri
win_func3(key_down(37,_)) :-
pen(1,rgb(255,255,255)),
posAI(X,Y),
posUSR(XU,YU),
G_X:=45*X,
G_Y:=45*Y,
G_XU:=45*XU,
G_YU:=45*YU,
kiri(X1,Y1,XU,YU),
  A1 is XU*45,
  B1 is YU*45,
  C1 is XU*45+45,
  D1 is YU*45+45,
  A2 is X1*45,
  B2 is Y1*45,
  brush(rgb(255,255,255)),
  rect(A1, B1,C1, D1),
draw_bitmap(A2,B2,G_user,_,_),
  set(posUSR(X1,Y1)),
  set(last(XU,YU)).



%Perintah untuk membaca kordinat vertikal labirin
put_v :-
  v(Xc, Yc),
  X is 45*Xc,
  Y is 45*Xc+45,
  Y1 is 45*Yc,
  Y2 is 45*Yc+45,
  brush(rgb(0,0,0)),
  rect(X, Y1, Y, Y2),
  fail.
put_v.



%Timer
waktu_func(end):-
G_waktu:=G_waktu-1,
W:= printq(G_waktu),
font(40,70,"Calibri"),
text_out(1020,120,W),
(G_waktu=0->  kill_timer(_, G_timer),
wait(1),
close_window(_),
XU := 18,
YU := 13,
X := 1,
  Y := 1,
G_waktu := 20,
set(posAI(X,Y)),
set(posUSR(XU,YU)),
window(G_layarkalah,_,kalah_func(_),"Anda Gagal",100,50,470,400)).
fail.



%Fungsi untuk menang dan kalah
kalah_func(paint):-
beep("sound/shaun5.wav"),
color_text(_,rgb(0,0,255)),
font(10,25,"Calibri"),
text_out(110,200,"Anda gagal mengeluarkan Timmy"),
draw_bitmap(120,100,G_user1,_,_),
wait(1),
close_window(_).

menang_func(paint):-
beep("sound/shaunopen.wav"),
color_text(_,rgb(0,0,255)),
font(10,25,"Showcard Ghotic"),
text_out(50,50,"Kamu Berhasil mengeluarkan Timmy!!"),
draw_bitmap(120,100,G_ai1,_,_),
wait(1),
close_window(_).

menang_func(init):-
button(_,_,ulanglagi(_),"----Coba Lagi----",140,240,150,50).


kalah_func(init):-
button(_,_,ulanglagi(_),"----Coba Lagi----",140,240,150,50).

ulanglagi(press):-
window(G_layar2,_,win_func2(_),"Magic Maze Game",100,0,830, 550),
close_window(G_layarkalah),
close_window(G_layarmenang).


Sekian tulisan dari saya, seperti biasa, terimakasih sudah membaca, semoga bermanfaat dan mohon maaf apabila ada kesalahan.

  Saya Fajar,   caw !