www.gmindo.web.id/forum
Forum ini sudah tidak dipakai lagi. Silakan ke forum baru di www.gmindo.web.id/forum Very Happy

Terima kasih

Join the forum, it's quick and easy

www.gmindo.web.id/forum
Forum ini sudah tidak dipakai lagi. Silakan ke forum baru di www.gmindo.web.id/forum Very Happy

Terima kasih
www.gmindo.web.id/forum
Would you like to react to this message? Create an account in a few clicks or log in to continue.

[Intermediate]Ds_queue dengan contoh

+2
Kevin Blaze Coolerz
zebrakelabu
6 posters

Go down

[Intermediate]Ds_queue dengan contoh Empty [Intermediate]Ds_queue dengan contoh

Post by zebrakelabu Fri 31 May 2013, 15:20


DISCUSSION MOVED TO NEW FORUM:
http://gmindo.web.id/forum/showthread.php?tid=117


Ds_queue (baca: de es kiu) adalah salah satu struktur data GML yang mensimulasikan antrian (antrian bhs inggrisnya queue). Antrian bisa berupa apa aja, bisa nilai, object id, sprite index, perintah untuk objek dst. Ciri antrian adalah apabila diambil nilai antrian tersebut maka yang muncul adalah nilai yang di antrian paling depan dulu (disebut juga head value atau simply head). Apabila dimasukkan nilai maka nilai tersebut akan mendapat posisi antrian terakhir (disebut juga tail value atau tail saja). Seperti orang mengantri lah pokoknya, ada antri duluan maka dapat giliran duluan dan yang ngantri belakangan ya belakangan. Prinsip antrian juga sering disebut prinsip FIFO (First In First Out).

Aku ngga akan sebut semua fungsi ds_queue disini, karena banyak, bisa dibaca sendiri di help GMS http://docs.yoyogames.com. Beberapa saja yang penting seperti:

1. ds_queue_create() - membuat antrian

contoh:
mx=ds_queue_create();

2. ds_queue_enqueue() - memasukkan nilai ke dalam suatu antrian. ingat nilai yang dimasukkan akan mendapat posisi terakhir dalam antrian

contoh:

ds_enqueue(my, objplayer.y) - memasukkan nilai objplayer.y ke dalam antrian my

3. ds_queue_dequeue() - mengambil nilai dari suatu antrian. ingat nilai yang diambil adalah nilai paling awal di depan antrian. setelah diambil maka nilai berikutna dalam antrian menjadi nilai paling awal

contoh:
y=ds_queue_dequeue(my) - mengambil nilai dari antrian my untuk dimasukkan ke y


4. ds_queue_destroy() - menghancurkan antrian apabila telah selesai dipakai/game berakhir. semua data structure GML bersifat dinamis dan menggunakan alokasi memory, sehingga harus dihancurkan bila telah selesai dipakai/ game berakhir, kalau tidak maka struktur data tersebut akan tetap di memory dan bisa menyebabkan game/aplikasi/OS berjalan lambat atau crash.

contoh
ds_queue_destroy(ms) - menghancurkan antrian ms dan membebaskan memory yang sebelumnya dipakai oleh ms

Berikut ini adalah contoh sederhana .gm81 dan project Studio yang menggunakan ds_queue. Ini adalah penyederhanaan demo Studio (Example Platformer), jadi hanya diambil antriannya saja. Objek kecil dalam game akan mengikut objek player yang lebih besar

Source .gm81

Source project Studio (pilih import project)

Pakai tombol panah untuk menggerakkan player [Intermediate]Ds_queue dengan contoh 650269930

Komen dan saran silakan


Terakhir diubah oleh zebrakelabu tanggal Fri 16 May 2014, 22:44, total 1 kali diubah
zebrakelabu
zebrakelabu
Admin
Admin

100%
Jumlah posting : 933
Points : 960
Join date : 06.01.13
Lokasi : Jakarta

http://www.project25games.com

Kembali Ke Atas Go down

[Intermediate]Ds_queue dengan contoh Empty Re: [Intermediate]Ds_queue dengan contoh

Post by Kevin Blaze Coolerz Fri 31 May 2013, 19:03

Nice post om Very Happy
data structure msih bnyk yg harus ak pelajari, salah satu ny ds_queue Very Happy
so, thanks udh post ginian Cendol

Kevin Blaze Coolerz
Kevin Blaze Coolerz
Admin
Admin

100%
Jumlah posting : 3323
Points : 3795
Join date : 06.01.13
Age : 29
Lokasi : Palembang

http://kevin-blaze-coolerz.blogspot.com/

Kembali Ke Atas Go down

[Intermediate]Ds_queue dengan contoh Empty Re: [Intermediate]Ds_queue dengan contoh

Post by zebrakelabu Sun 02 Jun 2013, 19:08

no problem kev

cuman aku nunggu mana yah komentar lain? udah jago struktur data semua deh kayaknya [Intermediate]Ds_queue dengan contoh 364988687
zebrakelabu
zebrakelabu
Admin
Admin

100%
Jumlah posting : 933
Points : 960
Join date : 06.01.13
Lokasi : Jakarta

http://www.project25games.com

Kembali Ke Atas Go down

[Intermediate]Ds_queue dengan contoh Empty Re: [Intermediate]Ds_queue dengan contoh

Post by Agan Mon 03 Jun 2013, 20:09

FIFO (first in first out )..

hmmm...

boleh juga nih, btw fungsi ini di gm 8 ada nga ?
Agan
Agan
GM Beginner
GM Beginner

100%
Jumlah posting : 115
Points : 120
Join date : 06.05.13
Age : 31
Lokasi : Jakarta Barat

Kembali Ke Atas Go down

[Intermediate]Ds_queue dengan contoh Empty Re: [Intermediate]Ds_queue dengan contoh

Post by Asuna Mon 03 Jun 2013, 20:26

ada lagi jenis struktur data yang perlu diketahui yaitu priority queue, sama seperti queue tapi data disisipkan di posisi tertentu sehingga listnya selalu terurut menurut nilai kunci data (priority), dan itu juga tersedia di GM dengan nama ds_priority Very Happy

@Agan
tentu Very Happy
Asuna
Asuna
Global Moderator
Global Moderator

100%
Jumlah posting : 1711
Points : 1901
Join date : 10.01.13

Kembali Ke Atas Go down

[Intermediate]Ds_queue dengan contoh Empty Re: [Intermediate]Ds_queue dengan contoh

Post by zebrakelabu Tue 04 Jun 2013, 22:14

yang jelas aku masukkan ini di kategori intermediate karena harus hati2 makainya, selalu dicreate dan didestroy secara benar. kalo pakainya salah juga hati2.

(seperti yang baru2 ini kulakukan Very Happy )
zebrakelabu
zebrakelabu
Admin
Admin

100%
Jumlah posting : 933
Points : 960
Join date : 06.01.13
Lokasi : Jakarta

http://www.project25games.com

Kembali Ke Atas Go down

[Intermediate]Ds_queue dengan contoh Empty Re: [Intermediate]Ds_queue dengan contoh

Post by Zihad Rizky Edwin Fikri Sun 16 Jun 2013, 20:55

woke, tak coba caranya ya... Smile

EDIT:
ko gmknya ga bisa di buka???


Terakhir diubah oleh Kevin Blaze Coolerz tanggal Wed 03 Jul 2013, 18:53, total 1 kali diubah (Reason for editing : dopost)
Zihad Rizky Edwin Fikri
Zihad Rizky Edwin Fikri
GM Beginner
GM Beginner

55%
Jumlah posting : 409
Points : 431
Join date : 12.05.13
Age : 26
Lokasi : jaktim

Kembali Ke Atas Go down

[Intermediate]Ds_queue dengan contoh Empty Re: [Intermediate]Ds_queue dengan contoh

Post by ciplest Mon 04 Nov 2013, 20:16

thx:D Very Happy 

ciplest
Newbie
Newbie

100%
Jumlah posting : 7
Points : 5
Join date : 04.11.13

Kembali Ke Atas Go down

[Intermediate]Ds_queue dengan contoh Empty Re: [Intermediate]Ds_queue dengan contoh

Post by Kevin Blaze Coolerz Mon 04 Nov 2013, 20:24

@zihad: itu gm8.1, buka ny pke GameMaker 8.1
@ciplest: koment kyk gitu bisa di anggap junk Curiga coba komentar nya di bagusin, gk cuma "thx" doank Very Happy
Kevin Blaze Coolerz
Kevin Blaze Coolerz
Admin
Admin

100%
Jumlah posting : 3323
Points : 3795
Join date : 06.01.13
Age : 29
Lokasi : Palembang

http://kevin-blaze-coolerz.blogspot.com/

Kembali Ke Atas Go down

[Intermediate]Ds_queue dengan contoh Empty Re: [Intermediate]Ds_queue dengan contoh

Post by Sponsored content


Sponsored content


Kembali Ke Atas Go down

Kembali Ke Atas

- Similar topics

 
Permissions in this forum:
Anda tidak dapat menjawab topik