• Tidak ada hasil yang ditemukan

LAMPIRAN A : LISTING PROGRAM

N/A
N/A
Protected

Academic year: 2021

Membagikan "LAMPIRAN A : LISTING PROGRAM"

Copied!
10
0
0

Teks penuh

(1)

LAMPIRAN A : LISTING PROGRAM 1. WordScramble.as package { import flash.display.MovieClip; import flash.media.Sound; import flash.events.MouseEvent; import flash.net.URLLoader; import flash.net.URLRequest; import flash.text.TextFormat; import flash.utils.Timer; import flash.events.*; import fl.controls.TextArea; import fl.controls.TextInput; import fl.controls.Button; import fl.controls.Label; import fl.events.ComponentEvent; import flash.system.fscommand;

public class WordScramble extends MovieClip {

private static const kamus:String = "kamus.txt"; private static const panjang_kata:Number = 3; private static const huruf_menurun:Number = 4; private static const huruf_mendatar:Number = 4; private static const uk_tombol:Number = 50; private static const waktu:Number = 121;

private static const nilai:Array = [null,0,0,2,3,5,6,8,9]

private var loader:URLLoader; private var alfabet:Array; private var kata:Array;

private var kata_ketemu:Array; private var masukan:TextInput; private var tombol:Array;

private var kata_tebakan:String; private var status_kata:Label; private var tombol_terakhir:Button; private var tambah_tombol:Button; private var hapus_tombol:Button; private var tombol_kembali:Button; private var hasil_nilai:TextArea; private var daftar_kata:Array; private var status_waktu:Label; private var t:Timer;

public function WordScramble() { stop();

kata_tebakan = new String(); kata_ketemu = new Array(); }

private function Kamus() { LoadKamus(kamus); }

(2)

private function LoadKamus(path:String):void { loader = new URLLoader();

loader.addEventListener(Event.COMPLETE,LoadKamus2); loader.load(new URLRequest(path));

}

private function LoadKamus2(e:Event):void {

var isi_kamus:String = String(e.target.data);

kata = isi_kamus.split(String.fromCharCode(13,10)); trace("Kamus" + kamus.length); Tampilan(); Papan(30,50,huruf_mendatar,huruf_menurun,uk_tombol); MulaiWaktu(waktu); }

private function Tampilan(){

var kata:Object = new TextFormat(); kata.font = "Georgia";

kata.size = 16;

kata.color = 0xFFFF00; status_kata = new Label(); status_kata.autoSize = "left"; status_kata.move(440,20);

status_kata.setStyle("textFormat",kata); status_kata.text = "";

addChild(status_kata);

tambah_tombol = new Button(); tambah_tombol.move(290,50); tambah_tombol.setSize(175 / 2, 30); tambah_tombol.setStyle("textFormat",kata); tambah_tombol.label = "Tambah"; tambah_tombol.addEventListener(MouseEvent.CLICK,TambahKata); addChild(tambah_tombol);

hapus_tombol = new Button(); hapus_tombol.move(290,100); hapus_tombol.setSize(175 / 2, 30); hapus_tombol.setStyle("textFormat",kata); hapus_tombol.label = "Hapus"; hapus_tombol.addEventListener(MouseEvent.CLICK,HapusKata); addChild(hapus_tombol);

hasil_nilai = new TextArea(); hasil_nilai.x = 440;

hasil_nilai.y = 50;

hasil_nilai.setSize(175,255); hasil_nilai.editable = false; addChild(hasil_nilai);

status_waktu = new Label(); status_waktu.move(30,255); status_waktu.setSize(200,50);

status_waktu.setStyle("textFormat",kata); status_waktu.text = " ";

(3)

}

private function

Papan(startX:Number,startY:Number,total_baris:Number,total_kolom:Numb er,uk_tombol:Number):void {

var kata:Object = new TextFormat(); kata.font = "Cooper Black";

kata.size = 18;

kata.color = 0xFFFF00; tombol = new Array(); var kolom:uint;

var baris:uint;

for(baris = 0; baris < total_baris; baris++) {

for(kolom = 0; kolom < total_kolom; kolom++) {

var b:Button = new Button(); b.x = startX + (kolom*uk_tombol); b.y = startY + (baris*uk_tombol); b.addEventListener(MouseEvent.CLICK, HurufTerpilih); b.label = HurufAcak(); trace("huruf " + b.label); b.setSize(uk_tombol,uk_tombol); b.setStyle("textFormat",kata); b.name = "buttonRow"+baris+"Col"+kolom; addChild(b); tombol.push(b); } } }

private function HurufAcak():String { alfabet =

["A","B","C","D","E","F","G","H","I","J","K","L","M",

"N","O","P","QU","R","S","T","U","V","W","X","Y","Z"]; var frek:int =(Math.random()*99);

if(0<=frek && frek<=7){trace(frek);return alfabet[0].toString();}

if(frek==8){trace(frek);return alfabet[1].toString();}

if(frek >= 9 && frek<=11){trace(frek);return alfabet[2].toString();}

if(frek >= 12 && frek<=15){trace(frek);return alfabet[3].toString();}

if(frek >= 16 && frek<=27){trace(frek);return alfabet[4].toString();}

if(frek>=28 && frek<=29){trace(frek);return alfabet[5].toString();}

if(frek>=30 && frek<=31){trace(frek);return alfabet[6].toString();}

if(frek >=32 && frek<=37){trace(frek);return alfabet[7].toString();}

if(frek >=38 && frek<=44){trace(frek);return alfabet[8].toString();}

if(frek==45){trace(frek);return alfabet[9].toString();}

(4)

if(frek==46){trace(frek);return alfabet[10].toString();}

if(frek >= 47 && frek<=50){trace(frek);return alfabet[11].toString();}

if(frek >= 51 && frek<=52){trace(frek);return alfabet[12].toString();}

if(frek >= 53 && frek<=58){trace(frek);return alfabet[13].toString();}

if(frek >= 59 && frek<=65){trace(frek);return alfabet[14].toString();}

if(frek >= 66 && frek<=67){trace(frek);return alfabet[15].toString();}

if(frek==68){trace(frek);return alfabet[16].toString();}

if(frek >=69 && frek<=74){trace(frek);return alfabet[17].toString();}

if(frek >=75 && frek<=80){trace(frek);return alfabet[18].toString();}

if(frek >= 81 && frek<=89){trace(frek);return alfabet[19].toString();}

if(frek >= 90 && frek<=92){trace(frek);return alfabet[20].toString();}

if(frek==93){trace(frek);return alfabet[21].toString();}

if(frek >=94 && frek<=95){trace(frek);return alfabet[22].toString();}

if(frek==96){trace(frek);return alfabet[23].toString();}

if(frek>=97 && frek<=98){trace(frek);return alfabet[24].toString();}

if(frek==99){trace(frek);return alfabet[25].toString();}

return alfabet.toString(); }

private function HurufTerpilih(e:MouseEvent):void { var b:Button = Button(e.target);

trace("Pilihan: " + b.label); if(!tombol_terakhir) { KataBaru(b.label); } else if(Ketetanggaan(b,tombol_terakhir)) { TambahTebakan(b.label); } else { KataBaru(b.label); } tombol_terakhir = b; b.enabled = false; }

private function TambahTebakan(huruf:String):void { kata_tebakan += huruf;

status_kata.text = kata_tebakan; trace("Tambahan: " + kata_tebakan); }

private function KataBaru(huruf:String):void { trace("Mulai kata baru");

(5)

var i:uint;

for(i = 0; i<tombol.length; i++) { tombol[i].enabled = true; } kata_tebakan = huruf; status_kata.text = huruf; } private function Ketetanggaan(tombol_sebelum:Button,tombol_sesudah:Button):Boolean { var baris_sesudah:Number = Number(tombol_sesudah.name.charAt(tombol_sesudah.name.indexOf("Row") + 3)); var kolom_sesudah:Number = Number(tombol_sesudah.name.charAt(tombol_sesudah.name.indexOf("Col") + 3)); var baris_sebelum:Number = Number(tombol_sebelum.name.charAt(tombol_sebelum.name.indexOf("Row") + 3)); var kolom_sebelum:Number = Number(tombol_sebelum.name.charAt(tombol_sebelum.name.indexOf("Col") + 3));

return ((Math.abs(baris_sebelum - baris_sesudah) <= 1) &&

(Math.abs(kolom_sebelum - kolom_sesudah) <= 1));

}

private function TambahKata(e:MouseEvent):void { if(kata_tebakan.length < panjang_kata) {

KataBaru("");

status_kata.text = "Minimal " + panjang_kata + " huruf!"; } else if(!SudahKetemu(kata_tebakan)) { var indeks_kata:Number = CariKata(kata_tebakan.toLowerCase()); if(indeks_kata > -1) { kata_ketemu.push(kata_tebakan); KataBaru(""); Nilai();

status_kata.text = "Kata baru ditemukan!"

} else {

KataBaru("");

status_kata.text = "Kata tidak ada dalam kamus!"

} }

else {

KataBaru("");

status_kata.text = "Kata sudah dimasukkan." }

}

private function HapusKata(e:MouseEvent):void { KataBaru("");

(6)

}

private function SudahKetemu(a:String):Boolean { var i:uint;

for(i = 0; i<kata_ketemu.length; i++) { if(a == kata_ketemu[i]) return true; }

return false; }

private function CariKata(huruf:String):Number { var i:uint = 0

for(i=0; i<kata.length; i++) { var Kata:String = kata[i]; if(huruf == kata[i]) { return i; } } return -1; }

private function Nilai():void { var daftar_kata = new Array(); var nilai_total:Number = 0; var i:uint;

for(i=0; i<kata_ketemu.length; i++) { var Kata:String = kata_ketemu[i]; nilai_total += nilai[Kata.length]; daftar_kata += Kata + "\n";

}

hasil_nilai.text = "Total Nilai: " + nilai_total + "\n" + "\n" + "Daftar Kata: " + "\n" + daftar_kata;

}

private function MulaiWaktu(total_waktu:Number):void { t = new Timer(1000, total_waktu);

t.addEventListener(TimerEvent.TIMER,hitung_waktu);

t.addEventListener(TimerEvent.TIMER_COMPLETE,waktu_habis); t.start();

}

private function hitung_waktu(e:TimerEvent):void { var waktu_sisa:Number = waktu -

e.target.currentCount;

status_waktu.text = "Sisa waktu: " + String(waktu_sisa);

}

private function waktu_habis(e:TimerEvent):void { status_waktu.text = "Waktu habis!";

var i:uint;

for(i=0; i<tombol.length; i++) { tombol[i].enabled = false; }

tambah_tombol.enabled = false; hapus_tombol.enabled = false;

var kata:Object = new TextFormat(); kata.font = "Georgia";

kata.size = 16;

(7)

tombol_kembali = new Button(); tombol_kembali.move(290,150); tombol_kembali.setSize(175 / 2, 30); tombol_kembali.setStyle("textFormat",kata); tombol_kembali.label = "Kembali"; tombol_kembali.addEventListener(MouseEvent.CLICK,Kembali); addChild(tombol_kembali); status_kata.text = ""; }

private function Kembali(e:MouseEvent):void { var i:uint;

for(i=0; i<tombol.length; i++) { tombol[i].enabled = false; removeChild(tombol[i]); tombol[i]=null; } removeChild(status_kata); removeChild(tambah_tombol); removeChild(hapus_tombol); removeChild(hasil_nilai); removeChild(status_waktu); removeChild(tombol_kembali); kata_ketemu=[]; gotoAndStop(5); } } }

(8)

LAMPIRAN B : HASIL KUISIONER

Tabel Hasil Kuisioner Untuk Aspek Antarmuka dan Penggunaan Aplikasi

No

Nama

TTD

Antarmuka

Penggunaan

1

2

3

4

5

1

2

3

4

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

Keterangan :

A = Sangat Baik

B = Baik

C = Kurang Baik

D = Tidak Baik

(9)

Tabel Hasil Kuisioner untuk Aspek Penilaian Aplikasi

No

Nama

TTD

Penilaian

1

2

3

4

5

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

Keterangan :

A = Sangat Baik

B = Baik

C = Kurang Baik

D = Tidak Baik

(10)

I.

Kriteria Aplikasi

No.

Kriteria

Penilaian

SB

B

KB TB

1.

Ketepatan warna background

4

16

0

0

2.

Ketepatan warna, posisi dan ukuran tulisan

3

17

0

0

3.

Ketepatan warna, posisi dan ukuran tombol

7

13

0

0

4.

Efek suara

7

9

4

0

1.

Pemahaman fungsi tiap tombol

6

13

1

0

2.

Pemahaman aturan dan cara bermain

3

13

4

0

3.

Kemudahan menjalankan aplikasi

9

10

1

0

4.

Kemudahan penggunaan mouse

11

9

0

0

1.

Nilai edukasi dari aplikasi

15

4

1

0

2.

Tingkat kesulitan soal

7

12

1

0

3.

Ketertarikan terhadap permainan

7

12

1

0

4.

Aturan dan cara bermain yang telah ditentukan

8

9

3

0

Keterangan:

SB

: Sangat Baik

B

: Baik

KB

: Kurang Baik

TB

: Tidak Baik

Gambar

Tabel Hasil Kuisioner Untuk Aspek Antarmuka dan Penggunaan Aplikasi
Tabel Hasil Kuisioner untuk Aspek Penilaian Aplikasi  No  Nama  TTD  Penilaian  1  2  3  4  5   1

Referensi

Dokumen terkait

Berdasarkan hasil penelitian yang didapatkan bahwa ekstrak etanol daun Sirih ( Piper betle L) berpengaruh terhadap proses spermatogenesis pada tikus putih jantan

Hasil yang akan didapat pada penelitian ini adalah sebuah rancangan Model Proses dan Model Data Aplikasi E-Commerce.. Dalam mengembangkan Rancangan Model Proses dan Model Data

Berdasarkan hasil penelitian yang telah dilakukan pada Universitas Bina Darma Beasiswa Bidik Misi, maka didapatkan hasil akhir sebuah sistem yaitu Sistem pendukung

Ciri teori belajar dari pernyataan bahwa seorang guru melakukan pembelajaran dengan memberikan kebebasan yang luas kepada siswa untuk menentukan apa

Presentasi Materi kuliah, Tanya jawab dan Pemberian Tugas • Ketepatan menjelaskan tentang gambaran umum, perbedaan pandangan tentang masalah lingkungan,contoh kasus

(1) Untuk memperoleh izin sebagaimana dimaksud dalam pasal 26, Kepala Dinas Kesehatan Kabupaten/Kota mengajukan permohonan tertulis kepada Bupati/Walikota melalui

Penelitian ini bertujuan untuk menentukan survival rate serta memperkirakan Total Akumulasi Biomassa Atas Permukaan dari jenis-jenis pohon utama hutan rawa gambut yang digunakan

Metode penentuan lokasi penelitian dilakukan secara purposive (sengaja). Jumlah sampel dalam penelitian ini adalah 30 responden pengusaha brem dan teknik pengambilan