14 November 2008

Pemakaian Stack pada JavaScript



JavaScript adalah salah satu bahasa pemrogaman yang sering dipakai untuk digunakan pada web programming (pemrogaman web). JavaScript memberikan keuntungan kepada programmer web untuk membuat halaman web yang dibuat menjadi lebih dinamis. Banyak sekali tulisan yang membahas tentang pembahasan JavaScript ini. Dinamakan JavaScript karena syntax- syntaxnya hampir mirip dengan syntax bahasa pemrogaman Java, tetapi perlu ditekankan bahwa pemrogaman ini tidak ada sangkut pautnya dengan pemrogaman Java yang diusung oleh Sun Microsystem.

Bahasa pemrogaman JavaScript mempunyai kemampuan yang tak kalah dari bahsa pemrogaman yang lain. Salah satunya adalah JavaScript mampu menangani struktur data Stack . Untuk pembaca yang belum mengetahui apa itu Abstract Data Type “ Stack ”, maka akan saya kenalkan sekarang. Stack adalah suatu ADT di mana penyimpanan data dilakukan dengan sistem Last-in-First-Out atau yang sering disebut dengan LIFO. Maksud dari stack ini adalah data yang disimpan terakhir akan dikeluarkan lebih dulu. Konsep dari stack ini bisa diumpamakan seperti tumpukan piring di mana piring di sini diumpamakan sebagai data dan tumpukannya diumpamakan sebagai stack . Apabila kita membayangkan ada setumpuk piring yang telah kita susun di hadapan kita, maka piring yang paling atas akan kita ambil dahulu daripada piring yang paling bawah yang kita ambil. Seperti itulah peumpamaan mudahnya. Mudah-mudahan pembaca mengerti dengan apa yang saya jelaskan tadi.

OK, sekarang kita langsung kepada tahap peng implementasi annya dalam JavaScript. Untuk perlu diingat bahwa konsep stack dan queue dalam JavaScript merupakan suatu method atau fungsi yang terdapat pada objek array yaitu push() dan pop() . Maksud push() di sini adalah memasukkan data kedalam stack , sedangkan pop() adalah mengambil data dari bagaian atas stack ( top of stack ). Oleh karena itu, sebelumnya kita harus mendeklarasikan variable bertipe array seperti berikut:

var stack=[ ]; // membuat variabel bertipe array dengan isi yang masih kosong

Sekarang kita akan melihat implementasi dari stack ini: Perhatikan !

stack.push(”tawakal”); // memasukkan data string ”tawakal” ke dalam stack . Ini adalah data pertama yang dimasukkan ke dalam stack .

stack.push(”ikhtiar”); //memasukkan data string ”ikhtiar” ke dalam stack . Ini adalah data kedua yang dimasukkan ke dalam stack

stack.push(2008); //memasukkan data integer 2008 ke dalam stack . Ini adalah data ketiga yang dimasukkan ke dalam stack

Cukup di sini saja dan kita akan melihat bagaimana struktur data pada stack yang telah kita kerjakan pada syntaks di atas. Perhatikan skema di bawah ini:

| 2008 |

| ikhtiar |

| tawakal |

Jika diperhatikan, data paling pertama yang dimasukkan ternyata diletakkan pada bagian paling bawah stack , sedangkan data paling terakhir yang dimasukkan diletakkan pada bagian paling atas stack ( top of stack ). Untuk mengujinya kita tambahkan syntaks seperti di bawah ini:

stack.pop(); // mengeluarkan data paling atas dari stack

stack.pop(); // mengeluarkan data paling atas dari stack

stack.pop(); // mengeluarkan data paling atas dari stack

Dari listing code di atas, secara kasar maka akan di dapat data keluaran seperti berikut secara berurutan: 2008,ikhtiar,tawakal.

Penjelasan di atas bukanlah aplikasi code sebenarnya, tetapi hanyalah gambaran kasarnya saja. Di bawah ini adalah salah satu aplikasi dari permasalahan stack di atas.


<html>
<head>
<script type="text/javascript">
var stack=[];
function insertStack(){
stack.push(form1.datastack.value);
form1.datastack.value="";
form1.isiStack.value=stack.join("\n");
}
function popFromStack(){
stack.pop();
if(stack.length==0)
form1.isiStack.value="isi stack kosong";
else
form1.isiStack.value=stack.join("\n");
}
</script>
</head>
<body>
<form name="form1" method="post" action="">
<p>
Masukkan data ke dalam stack :<input type="text" name="datastack" />
<input type="button" name="Submit" value="Push to Stack" onclick="insertStack()" />
</p>
<p>
Data di dalam stack:<br />
<textarea name="isiStack" rows="7" cols="14">
</textarea><br />
</p>
<p>
<input type="button" name="Submit2" value="Pop to Stack" onclick="popFromStack()"/>
</p>
</form>
</body>
</html>

2 comments:

  1. Artikel anda di

    http://programing.infogue.com/pemakaian_stack_pada_javascript

    promosikan artikel anda di infoGue.com. Telah tersedia widget shareGue dan pilihan widget lainnya serta nikmati fitur info cinema, game online & kamus untuk para netter Indonesia. Salam!

    ReplyDelete
  2. bung,gimana yach cara redirect blogger ke co.cc ??...

    bisa dibuat thread and tutornya gak??...

    kok gak dipasangin adsense nech??...



    salam hangat,




    http://hot-side.blogspot.com/

    ReplyDelete