Search:

Rabu, 22 Oktober 2014

Game Maker : Begining for Scripting in GML part 2 (Variable) [Indonesia]

0 komentar
Oke , maaf jarak waktu posting nya lama.
kali ini saya akan menjelaskan dan mempraktekan variable pada Game Maker.
sebelumnya kalian sudah mempersiapkan semuanya kan? dan tentu nya kalian sudah bisa mendeklarasikan Variable di Game Maker.

Oke.

ketentuan saat kita menggunakan Variable di Game Maker yaitu :
  1. Variable yang digunakan harus dideklarasikan terlebih dahulu.
           kita menganggap variable itu adalah penampung nilai, dengan begitu kita hanya bisa melakukan 2 pilihan yaitu Mendeklarasikan Variable (menetapkan atau mengubah nilai) dan Memanggil Variable (menerima value dari variable).

  2. Variable ada dan dikenal.
           Ya, asal kalian tahu. Variable itu memiliki 2 alamat yaitu Id Instance dan Name. pada Variable jika kita hanya mendeklarasikan nama nya saja, berarti kita memberikan alamat variable tersebut Id Instance pada object itu sendiri, dan Name pada nama yang kita deklarasikan.

ketentuan kedua mungkin kalian masih agak bingung. seperti contoh pada object0 saya mendeklarasikan variable dengan sebuah script.

variable_baru = 10;


disini saya mendeklarasikan dengan namanya saja bukan?. mengapa Alamat Id Instance tidak di tentukan?
Ya, sebab seperti yang katakan sebelumnya, jika kita hanya medeklarasikan namanya saja , dengan berarti kita memberikan alamat variable tersebut pada object itu sendiri.

Dengan berarti Variable diatas itu memiliki alamat yaitu :

  • Alamat Id Instance = object0;
  • Alamat Name  = variable_baru;
Berarti sama dong dengan :

object0.variable_baru = 10;


Yap! silahkan dicoba, mengetesnya dengan show_message()  yaitu show_message(variable_baru); setelah variable ditentukan.

dengan begitu kita mempunyai 2 script yang berbeda :

variable_baru = 10;

show_message(variable_baru);

dan

object0.variable_baru = 10;

show_message(variable_baru);


coba ditest, pasti hasilnya sama ^_^.

Lalu apa kelebihan kita saat mengenal Alamat Id Instance ?
Yap. kita bisa mengubah variable Object lain , padahal aksinya bukan diobject itu ^_^ mudah kan?

Sekian tutorial saya hari ini, ingat , semakin lama kalian belajar dan berlatih Scripting , semakin mahir kalian dalam membuat Game.
READ MORE - Game Maker : Begining for Scripting in GML part 2 (Variable) [Indonesia]

Sabtu, 27 September 2014

Game Maker : Begining for Scripting in GML part 1 (Variable) [Indonesia]

0 komentar
Selamat datang teman-teman, kali ini saya ingin memberitahukan hal-hal bagi kalian yang merasa sulit untuk memasuki dunia scripting di Game Maker. judul dari posting ini adalah "Memulai untuk Scripting di GML (Game Maker Language) Part 1 (Variable)"..

Berarti sudah tahu dong apa yang kita ingin latih sekarang?. Yap, Variable pada Game Maker.

Rekomendasi saya untuk dapat melalui tahap ini dan selanjutnya, kalian telah sepenuhnya mengerti apa itu :
  • Event (Create, Step, dan Draw)
  • DnD of Execute Code (yang saya maksud disini adalah kalian dapat membuat Subevent Execute Code kedalam Event)
  • mengetahui function draw_text() , jika belum klik disini.
  • mengetahui function show_message().
Oke , jika kalian ingin melanjutkan Tutorial, saya harap syarat diatas terpenuhi ,oke?.
sebab tanpa memenuhi syarat diatas, saya rasa kalian akan sukar menerima perintah-perintah selanjutnya.

Baiklah...

Variable

     Variable adalah sebuah simbol atau ketetapan yang memiliki nilai tertentu, dengan ketetapan yang dimaksud adalah Variable yang digunakan harus memiliki ketetapan, jadi kita tidak akan di-PHP-in (Pemberi Harapan Palsu) sama Variable, jikalau pun kita merasa di-PHP-in , secara tidak langsung sebenarnya kita lah yang PHP-in diri sendiri.

Pertama yang harus kita ketahui adalah cara mendeklarasikan Variable, Variable terdeklarasi jika nilai variable ditentukan (sebelumnya belum diketahui nilainya) , oleh maka itu kita bisa mendeklarasikan Variable kapanpun tidak dibatasi oleh waktu dan Event.

Cara nya mudah kok, yaitu dengan penulisan sebagai berikut :
variable_baru = <nilai>;


yang dimaksud adalah sebuah string atau integer, yang dimaksud dari string itu adalah nilai jenis text, seperti "A" , "Text" atau "Nama Saya". seperti contoh saya membuat variable baru dengan nama "nama_saya" :


nama_saya="Harbi Martin";


contoh diatas adalah pendeklarasian Variable Text , tidak lupa juga pada integer, yang dimaksud dari integer adalah jenis nilai yang berbentuk angka. seperti 1 , 2 , ataupun 3.1415 (tidak dibatasi). seperti contoh saya membuat variable baru dengan nama "nilai_pi" :

nilai_pi=3.1415;




Jenis Jenis Variable


Variable Array (Hanya Review, mungkin di Part 8 keatas kita akan gunakan)

       Variable array adalah variable yang memiliki nilai lebih dari 1, nama dari variable itu sama , namun yang membedakan adalah nilai blok nya atau nomor susunannya. batas dari Variable array sampai sekarang belum saya ketahui, Namun, nilai bloknya tidak bisa lebih kecil dari 0.

seperti contoh, cara mendeklarasikan 2 Variable array yang memiliki nilai blok [0] dan [1]:

variable_baru[0]="Huruf A";
variable_baru[1]="Huruf Z";

Check Variable

Cara mengecek apakah nilai dari sebuah variable, bisa dengan cara show_message() ataupun draw_text().
disini saya memberi contoh mengecek variable dengan show_message().

seperti script berikut :

nilai_pi=3.14;

show_message(nilai_pi);


silahkan dicoba dan diplay, apakah nilai_pi yang ditampilkan sama, dengan apa yang kita deklarasikan ^_^.

Oke , karena ini baru Part 1 dengan begini kalian sudah memahami cara mendeklarasikan Variable, karena di Part 2 berikutnya kita akan menggunakan variable, karena dalam GML dan Bahasa Pemograman lainnya, Variable lah yang sangat sangat berpengaruh dalam pelaksanaan script.

Silahkan tunggu part berikutnya.
Semoga Bermanfaat~
READ MORE - Game Maker : Begining for Scripting in GML part 1 (Variable) [Indonesia]

Kamis, 25 September 2014

Game Maker : My special function package (Direction) Free! [With Indonesia Explanation]

1 komentar
 Selamat datang kembali, bingung nih mau buat refrensi untuk game maker apa lagi, setelah saya pikir-pikir saya punya External Function sendiri untuk Game Maker tentunya ^_^ .

Sebenarnya function ini adalah function pribadi, khusus untuk saya sendiri, namun karena bagi saya Function ini mungkin lebih dibutuhkan oleh orang lain dibanding saya, maka tidak salah bukan kalau kita berbagi :) hehehe..

Oke, kalau boleh saya jelaskan. Function ini adalah function yang dikhususkan dalam sisi Direction atau Sudut. jadi waktu saya ingin membuat project yaitu game jenis tembak-tembakan berbentuk 2d (kamera hadap atas) saya kesulitan membuat sistem tembok nya, jadi saya kebingungan saat itu dengan kondisi saya belum memahami materi Trigonometri yang telah diajarkan dari kelas 2 SMA.. waktu itu saya amat benci dengan Materi Trigonometri karena kita harus memahami apa itu fungsi Sin() Cos() dan Tan().. padahal setahu saya Sin, Cos , Tan ini sangat berguna pada pembuatan Game 3D .. oleh maka itu saya mulai belajar Trigonometri dan membuat function agar dapat membantu saya untuk memecahkan logika dalam membuat script , seperti ujung tembakan, arah peluru, tembok yang akan mengenai peluru dan sebagainya.

dan Voala!... saya sekarang mencintai materi Trigonometri, dan semakin bangga kalau saya telah mengenal Game Maker ^_^ ..

Oke, tidak lama-lama saya akan menjelaskan function external ini.
Ettss... terakhir saya ingin memberitahu masa pembuatan Function ini, Function Package yang saya publikasikan ini adalah revisi kedua dari Function Package yang telah dibuat dari 14 Agustus 2013, Revisi kedua saya selesaikan pada tanggal 13 Desember 2013.

Kalian bisa mendownloadnya disini :

http://adf.ly/sKtYD

Oke saya akan jelaskan.

Pada Function Package ini, berisi 9 Function , yaitu :

  • dir_in_dir( dirmin,dir,dirmax );
  • dir_in_line( line_x1,line_y1,line_x2,line_y2,point_x,point_y,point_dir );
  • direct( direction );
  • dirview_in_line(  line_x1,line_y1,line_x2,line_y2,point_x,point_y,point_dir_min,point_dir_max );
  • length_of_dir( dir1,dir2 );
  • length_on_dir( dir1,dir2 );
  • point_cross( x1,y1,dir1,x2,y2,dir2 );
  • point_cross_x( x1,y1,dir1,x2,y2,dir2 );
  • point_cross_y( x1,y1,dir1,x2,y2,dir2 );

Baiklah saya akan menjelaskan satu persatu :

Point Cross

     Disini saya menamakan point cross karena ini menghitung pertemuan titik silang antara 2 garis yang berbeda, ada garis 1 dan garis 2.

Bisa dilihat dari gambar disamping, dari ketiga function point cross itu mempunyai kesamaan argument, yaitu x1,y1,dir1,x2,y2,dir2.

pada gambar disamping (x1,y1) adalah titik awal garis 1 dan "A" pada gambar disamping adalah nilai dir1. begitu juga dengan (x2,y2) adalah titik awal garis 2 dan "B" adalah nilai dari dir2.

pada ketiga function mempunyai nilai value yang berbeda, yaitu :

point_cross_x(x1,y1,A,x2,y2,B) menghasilkan nilai dari x3 (bisa dilihat digambar titik ke 3 adalah pertemuan antara garis 1 dan 2)

point_cross_y(x1,y1,A,x2,y2,B) menghasilkan nilai dari y3.

sedangkan , point_cross(x1,y1,A,x2,y2,B) menghasilkan nilai dari L (L adalah jarak dari titik 1 ke titik persilangan yaitu dari (x1,y1) ke (x3,y3) ).


Direct

      Direct adalah function yang saya buat untuk membetulkan nilai sudut pada suatu nilai. dengan syntax :
direct( direction );

direction adalah nilai integer. seperti yang kita ketahui, sudut adalah sebuah nilai dari 0°-359° (360° adalah 0°). oleh maka itu fungsi Direct ini adalah sebagai function untuk membetulkan nilai yang bersyarat ini.

sebagai contoh , seperti script ini :

true_dir = direct(-122);

-122 adalah nilai diluar 0° dan 359° , oleh maka itu saat kita menggunakan direct(), maka hasilnya nilai sudut yang benar akan muncul , yaitu pada nilai true_dir. dan setelah dilihat , nilai true_dir adalah 238 ^_^.

Length Of/On Dir

     Disini saya ketahuan membuat script dengan nama bahasa inggris yang belum tentu benar ^_^ , tujuan utama saya untuk menamakan length_of_dir dan length_on_dir adalah untuk membedakan fungsi namun memiliki tujuan yang hampir sama. lalu apa perbedaannya?

Informasi sedikit. Kedua function ini dibuat untuk menentukan jarak antara sudut dengan sudut. namun bedanya, hasil pada length_of_dir adalah jarak dari sudut pertama ke sudut kedua (arah berlawanan jarum jam), sedangkan length_on_dir adalah jarak terdekat antara sudut pertama ke sudut kedua , dengan berarti length_on_dir memiliki nilai <=180 dan >=0.


seperti simulasi pada gambar berikut :



pertama tama kita ketahui nilai dari masing-masing variable :

a = 0;

b = 50;
c = 225;

jika kita menulis length_on_dir(a,c) , maka nilai dari fungsi tersebut adalah jarak sudut terdekat antara sudut a kesudut b. dengan begitu nilai dari :

length_on_dir(a,c)  adalah 135
° .



namun berbeda dengan length_of_dir(a,c) , nilai yang dihasilkan adalah jarak dari sudut a ke sudut b.
yaitu :

length_of_dir(a,c) adalah 225° (225°-0°) .. 
berarti,  dengan begitu rumusnya adalah (c-a) ?Nah, ini tidak bisa dikatakan salah, namun length_of_dir() ini akan lebih efektif pada sudut yang melewati nilai 0° . seperti :

length_of_dir(c,b) --> yaitu jarak dari 225° ke 50° , jika kita menggunakan length_of_dir, maka akan menghasilkan nilai 185 , yaitu (360-225) [jarak dari 225° ke 0°] +(50-0) [jarak dari 0° ke 50°].

Dir in

    Dir in adalah Function yang saya buat untuk mengecek sebuah sudut , apakah sudut tersebut berada pada sebuah kondisi? Yap, pada function Point Cross itu adalah fungsi yang menghitung titik yang menyilang dari sudut 1 pada sudut ke 2. namun berbeda kasus pada Dir In ini, Dir In adalah function yang hanya memberikan nilai true atau false , yang membuktikan bahwa sudut berada pada suatu kondisi.

Terdapat 2 function Dir In ini :


  1. dir_in_dir( dirmin,dir,dirmax );

        dir_in_dir()
    adalah function yang menghasilkan nilai true jika dir berada pada dirmin dan dirmax.sebagai contoh pada gambar berikut :

    terdapat 2 sudut garis yang berbeda, yang 1 adalah A yang berada pada dirmin dan dirmax sedangkan B berada diluar garis dirmin dan dirmax.

    dengan begitu jika kita menulis :

    dir_in_dir(dirmin,A,dirmax) maka akan menghasilkan nilai true, karena sudut A berada didalam dirmin dan dirmax, sedangkan.

    dir_in_dir(dirmin,B,dirmax) akan menghasilkan nilai false, karena berada diluar dirmin dan dirmax ..

    dengan begitu, jika dir_in_dir(0,90,180) bernilai false atau true ? .. ya jelas true, sebab 90° berada pada 0° dan 180° (semoga dengan contoh ini kalian mengerti ya) ..
  2. dir_in_line( line_x1,line_y1,line_x2,line_y2,point_x,point_y,point_dir );

         dir_in_line()
    adalah function untuk mengecek pada suatu sudut yang berada pada sebuah garis yang letak dan sudutnya telah ditentukan. hampir sama dengan dir_in_dir() namun dir_in_line() mempunyai dirmin yaitu sudut terkecil dari titik sudut ke salah satu ujung garis, dan dirmax yaitu sudut terbesar dari titik sudut ke salah satu ujung garis .. seperti gambar berikut :

    gambar disamping memperlihatkan 2 sudut yaitu A dan B, memiliki nilai yang berbeda dan kondisi yang berbeda, yaitu kondisi A dimana berada pada dirmin dan dirmax, sedangkan kondisi B dimana B diluar dari dirmin dan dirmax.

    oleh maka itu saat kita menulis :

    dir_in_line(x1,y1,x2,y2,point_x,point_y,A);maka hasil dari dir_in_line() adalah true, berbeda jika sudutnya adalah B, maka hasilnya adalah false.

    silahkan cari dir_in_line(10,0,100,0,55,60,90) , true atau false?.. coba bayangkan diotak anda, gampang kok!


    Dir View In Line

          dirview_in_line() sama seperti dir_in_line() , namun perbedaannya adalah titik sudut dari point nya, dalam dirview_in_line() ini tidak hanya mempunyai dirmin dan dirmax pada line nya , namun pointnya juga punya memiliki dirmin dan dirmax, kali ini saya hanya akan memberitahukan secara kompleks bagaimana hasil dari dirview_in_line() ini bekerja , dengan sebuah gambar berikut :

    Hasil disamping menyatakan bahwa :

    dirview_in_line(x1,y1,x2,y2, point_x,point_y,point_dirmin,point_dirmax);

    bernilai true, sebab diantara dirmin point dengan dirmax point terdapat daerah antara dirmin line dengan dirmax line. jika diantara dirmin point dengan dirmax point tidak terdapat daerah antara dirmin line dengan dirmax line maka hasil yang dihasilkan adalah false.




    Oke, inilah Extension yang sudah tidak lagi menjadi pribadi buat saya.. hehe..
    semoga dengan begini kalian mungkin akan "sedikit" terbantu dalam membuat game yang berbau sudut atau direction.Download nya diatas (bukan fake kok) , nanti ada file *.gex, dan silahkan di Install dulu digame maker , dengan cara pilih pada title bar yaitu Resources > Select Extension Package > Click Install > akan muncul box baru dan pilih Install pada captionnya. > Cari File *.gex yang baru didownload, (tadi downloadnya format *.rar , lebih baik di extract dahulu , agar file *.gex-nya kelihatan) > Jika sudah, Click Open > lalu akan terlihat di available package ada Extension baru. lalu Click "Direction Function Package" > dan akan muncul panah kekiri, lalu Click Panah Ke Kiri yang baru muncul tersebut > Lalu pilih ok ,dan....... > Selesai!

    Oke, semoga Extension saya dapat membantu, mohon maaf jika ada salah kata.
    Terima Kasih~
    READ MORE - Game Maker : My special function package (Direction) Free! [With Indonesia Explanation]

    Selasa, 23 September 2014

    Game Maker : Let's Drawing! [Indonesia]

    0 komentar
    Kembali lagi teman-teman ^_^ ..
    saya akan memberikan refrensi nih buat kalian-kalian yang menggemari membuat game dari sisi grafik.

    Grafik itu menentukan sekali lhoo saat kita membuat game, maka dari itu jika kita ingin memainkan game-game besar, tidak asing jika kita melihat spek recommendation dari game itu dan dicocokan ke komputer kita, gak jauh-jauh deh misalnya besar nya RAM kita atau VGA komputer kita, nah siapa sih dalang semua itu yang ngebuat kita susah-susah mikirin RAM sama VGA cuman buat main game aja?..

    Yah! itu semua adalah perbuatan si Grafik. Grafik lah yang membuat game mempunyai julukan lag atau berat. inilah Komponen terbesar selagi kita mengisi game kita agar enak dimainkan..

    oleh maka itu, saya disini akan menerangkan apa aja sih Function-Function atau Fitur-Fitur dasar saat kita membuat script yang khususnya dilakukan oleh Draw Event :

    • Alpha , alpha dalam game maker itu adalah intensitas nilai sebuah Opacity/transparasi. jika kita sering memakai program drawing seperti CorelDraw atau Photoshop kita pasti sering memakai Opacity pada Layer, nah "Opacity" nya Game Maker itu adalah Alpha.

      nah untuk mengaplikasikan fungsi Alpha ini , kita bisa memakai function draw_set_alpha(opacity).
      opacity yang kita isi bisa dari nilai 0-1 (nilai desimal juga berpengaruh), semakin nilai opacity mendekati 0 maka semakin transparan gambar yang dihasilkan. secara default (dari awal ) nilai opacity pada Game Maker ada 1 , oleh maka itu disaat kita sudah selesai menset alpha ke nilai yang bukan 1 , maka ubahlah lagi nilai alpha ke 1 agar saat kita membuat script drawing di object lain tidak terganggu.

      Untuk dapat menguasai betul apa itu fungsi Alpha, kamu bisa klick disini.
    • Color , color dalam bahasa indonesia artinya adalah warna, nah ini adalah salah satu pengaturan kita dalam melakukan drawing seperti draw_rectangle(), draw_circle()  dan lain-lain. kita bisa isi dengan Variable Constants seperti c_white, c_black , atau warna-warna yang sudah ditemukan valuenya.

      Untuk membuat warna baru yang kita inginkan, kita bisa membuatnya dengan fungsi make_color_rgb() atau make_color_hsv() , tiga value yang perlu kita isi adalah nilai-nilai dari syaratnya seperti make_color_rgb() yang perlu kita isi adalah Red, Green , dan Blue. begitu juga dengan make_color_hsv().

      Untuk dapat menguasai betul apa itu fungsi Color, kamu bisa klick disini.
    • Font , font ini sangat berguna pada saat kita melakukan drawing dengan fungsi draw_text() dan macam-macam fungsi draw text lainnya.
      Saat mengubah font, kita bisa menggunakan fungsi draw_set_font( value_font ). value_font yang harus kita isi adalah sebuah value font yang sudah kita buat, biasanya saya menggunakan nama font atau variable font yang telah saya buat sebelumnya. cara membuatnya bisa kamu lihat gambar dibawah.
      Nah, dengan begitu kita bisa dengan kreatif membuat warna game kita sendiri, sebagai contohnya dalam sisi tulisan point yang berbeda dengan level . gaya Font yang banyak pada game kita dapat membuat pemain menjadi tidak bosan bukan?. Ya dong !

      tetapi sebenarnya ada juga cara agar kita dapat membuat font saat game sudah dijalankan yaitu dengan menggunakan fungsi :
      font_add(name,size,bold,italic,first,last);

      name (str) , size (int) , bold (bool) , italic (bool) , first (int) , last (int). 
      *(int = integer [sebuah nilai], str = string [teks])


      gunakan variable untuk mendapatkan id dari font yang sudah dibuat. Seperti contoh saya membuat begini :


      Create Event :

      new_font=font_add("calibri",13,false,false,32,127);

      Draw Event :draw_set_font(new_font);
      draw_text("This is New Font : Calibri 13px",0,0);

      maka hasilnya pun adalah tulisan dari draw_text dengan font yang kita buat tadi di Create Event, tetapi ingatlah bahwa font_add() ini hanya sekali dilakukan saja jika font tersebut belum dibuat, seperti contoh saya membuatnya di Create Event agar hanya sekali dilakukan, jika kita menaruh di Event Step dan sebagainya itu mungkin dapat menjadi masalah besar.

    Seperti nya hanya 3 itu saja dulu yang harus saya jelaskan pertama ^_^ .

    untuk draw_set_alpha() dan draw_set_color(), ada function-function draw yang berpengaruh pada fungsi tersebut , yakni :
    •  draw_arrow( x1,y1,x2,y2,size )
    •  draw_circle( x,y,r,outline)
    •  draw_ellipse( x1,y1,x2,y2,outline )
    •  draw_line( x1,y1,x2,y2 )
    •  draw_line_width( x1,y1,x2,y2,w )
    •  draw_point( x,y )
    •  draw_rectangle( x1,y1,x2,y2,outline )
    •  draw_roundrect( x1,y1,x2,y2,outline )
    •  draw_text( x,y,string )
    •  draw_text_ext( x,y,string,sep,w )
    •  draw_text_ext_transformed( x,y,string,sep,w,xscale,yscale,angle )
    •  draw_text_transformed( x,y,string,xscale,yscale,angle )
    Oke sekian dari saya, semoga refrensi ini bermanfaat bagi kita semua ^_^.
    Sekian~
    READ MORE - Game Maker : Let's Drawing! [Indonesia]

    Game Maker : For (Looping Statement) [Indonesia]

    0 komentar
    Hai teman teman :) ,, kali ini saya akan menjelaskan apa itu Statement for.

    setelah sekian lama saya tidak membuat posting lagi, itu dikarenakan internet dirumah saya terputus. Walaupun sebenarnya saya bisa membuat posting dari rumah dan di publikasi di warnet (warung internet) ,, tapi mau bagaimana lagi... diwarnet jadi maniak Game lagi.. huhuhuhuhu :'(
    sedih, sedih ,sedih .. nyesel jadinya.
    lho? kok jadi curhat ? bener-bener -_-" ..

    Oke.

    Langsung saja ketopik utamanya yaitu cara menggunakan statement For dan tentu saja saya akan menjelaskan sampai tuntas-tas-tas ^_^ .. harapan nya setelah membaca posting ini kita tidak akan kebingungan lagi cara menggunakan statement For. kebetulan saya ikut Grup Game Maker untuk bahasa saya sendiri, disitu saya pernah menjawab permasalahan seseorang dalam membuat Script, karena kebetulan statement For adalah jurus saya, jadi saya lampiaskan statement itu discript yang ingin saya berikan ..

    sungguh disayangkan komentar yang diberikan adalah ber inti pada sebuah pernyataan :
    "kalau orang yang sering menggunakan statement For itu adalah orang-orang hebat dalam GML , apa-apa For , apa-apa For" ..

    Yah.. padahal kan untuk pemula aja sebenarnya statement For ini harus sering digunakan dan seharusnya sudah matang di-statement ini, nah ini dia tujuan saya untuk membuat post ini agar pernyataan tersebut salah, benar-benar salah.

    Oke, saya jelaskan statement For itu apa. statemtent For adalah statement looping pada sebuah script, dari semua statement looping, For itu yg lebih dapat ter-handle ... statement for memiliki bentuk :


    for (<statement1> ; <expression> ;<statement2>)

    dan dibuka , untuk membuat script yang dilooping,

    {

    }


    Bentuk Statement For
    disini saya akan menjelaskan bentuk dari statement for dahulu :
    • <statement1> yang dimaksud adalah kita diminta untuk menuliskan sebuah deklarasi variable/statement yang akan kita gunakan di script yang ingin diloop nanti, ini sifatnya sekali yaitu disaat statement For pertama kali melakukan loopnya.
    • <expression> adalah sebuah persyaratan ekspresi yang akan menentukan apakah loop for dihentikan atau dijalankan , dan <expression> ini akan terjadi setelah <statement2> atau <statement1> dilakukan (sesuai step) .
    • <statement2> kebalikan dari <statement1> , <statement2> ini melakukan statementnya saat kedua kalinya statement For melakukan loopnya. 
    ya... cuman itu sebenarnya yang perlu kita pahami.. hanya itu yang perlu kita ingat, sedikit bukan?
    saat nya kita melatih bagaimana statement For ini bekerja.

    Melatih menggunakan Statement For

    Saya akan membuat contoh script sebagai berikut, sebagai contoh saya melakukannya diobject baru yaitu di Event Create (karena kita akan mengeksekusi statement For ini sekali)...

    for( iii=1;iii<=2;iii+=1){
      show_message(iii); // show message adalah function untuk menampilkan pesan pada game.
    }

    coba kita play dan melihat hasilnya .. dan ,

    Voala! game akan menampilkan pesan yang berisi text "1" dan "2" berurutan.
    mengapa demikian?.. coba kita buka kembali catatan diatas.

    disini saya akan menjabarkan statement perulangan ini menjadi script yang sesungguhnya (secara manual)..

    Pertama, sebelum statement For dijalankan, sesuai catatan, apakah statement yang akan dijalankan pertama?.. yap <statement1> , sesuai contoh , kita tahu bahwa <statement1> berisi statement :

    iii=1;

    lalu, apakah yang akan dilakukan kedua? .. yap <expression> ,, dengan berarti kita akan melakukan script yang diloop jika kondisi expression itu benar , karena iii=1 , berarti sama seperti kita tulis script, seperti :

    if 1<=2{
    show_message(1);
    }

    sampai sini sudah paham?..

    Oke!,  karena (1<=2) itu nilai nya true/benar , maka kita masih melanjutkan loop

    Darimanakah saya dapat kondisi "if 1<=2" ?
    saya mendapat kondisi "1<=2" dari "iii<=2" (itu yang sesungguhnya), namun karena iii=1 oleh maka itu saya buat mudah menjadi "1<=2"..

    Kok nilai nya true/benar? ini untuk yang masih belum ngerti yah .. hehe..
    kita lihat lagi, 1 lebih kecil atau sama dengan 2 benar atau salah?? ,benar dong , harus bisa matematika ya :p .. Oke!

    Lanjut ke step tiga..
    karena itu loop kedua, maka kita akan menuliskan <statement1> atau <statement2> ?? .. lihat catatan kembali..

    Yap! <statement2> lah yang akan ditulis, sebab ini sudah loop kedua , bukan pertama lagi.. dengan begitu kita akan menulis <statement2> sebagai step ke tiga kita :

    iii+=1;

    Tadi iii=1, jika iii+=1 , berarti iii ditambah 1 , yaitu iii menjadi 2 nilainya ^_^ .. oke setelah statement dijalankan maka kita akan menuliskan <expression> lagi dan menjalankan script loop nya :

    if 2<=2{
    show_message(2);
    }

    Yap! ternyata <expression> nya masih bernilai true nih.. dengan begitu kita akan melakukan <statement2> lagi :

    iii+=1;

    sekarang iii=3 , untuk lolos ke loop berikutnya maka kita akan melakukan <expression> kembali :

    if 3<=2{
    show_message(3);
    }

    bagaimana ? apakah <expression> masih bernilai true? .. jelas tidak bukan?.. dengan begitu maka loop segera dihentikan dan tidak dilanjutkan lagi..

    kita Rapih kan script yang sudah kita cacah dari contoh Statement For tadi , dan ini hasilnya :

    iii=1;
    if 1<=2{
    show_message(1);
    }

    iii+=1;
    if 2<=2{
    show_message(2);
    }

    iii+=1;
    if 3<=2{
    show_message(3);
    }


    dan coba kita jalankan script diatas..

    bagaimana teman-teman? sama bukan hasilnya? tapi mudahan mana ya? ya jelas saat kita memakai statement For tadi,, dengan begitu sangat membantu bukan statement For yang satu ini :)


    Oke sekian dari saya , semoga kalian dapat mengerti Statement ter-kenal ini :) ..
    Jika dibutuhkan , saya akan memberikan kuis untuk Statement For ini ,

    Semoga Bermanfaat.
    READ MORE - Game Maker : For (Looping Statement) [Indonesia]