BAB IV IMPLEMENTASI
4.1 Pembuatan Aplikasi
4.1.1 Background
Background atau latar belakang aplikasi digunakan untuk memperindah
tampilan. Pilihan warna dari background terdiri dari gradasi dua warna yaitu hitam
dan merah. Pada bagian atas background terdapat logo dan nama aplikasi. Logo
tersebut dibuat dengan aplikasi Corel Draw terlebih dahulu untuk kemudian diekspor
ke Adobe Flash. Bagian nama aplikasi menggunakan teks dengan jenis font Arial
Black dan Arial. Pada gambar 4.2 adalah proses pembuatan logo. Dan gambar 4.3 menunjukkan bahwa gambar sudah dipindahkan ke Adobe Flash.
Gambar 4.1 Proses Pembuatan Logo di Aplikasi Corel Draw
Gambar 4.2 Proses Pemindahan Logo dari Corel Draw ke Adobe Flash
4.1.2 Pembuatan Intro
Intro pada aplikasi ini terdiri dari text dan gambar animasi, Animasi berbentuk jarum jam yang berjalan dari angka 0 sampai dengan 4 dan berdurasi selama 4 detik
dengan kecepatan 12 frame per second (fps). Gambar 4.3 menunjukkan cara
Gambar 4.3 Proses Pembuatan Intro
4.1.3 Penggunaan Perintah dan Action Script 1. Inisialisasi Umum
Aplikasi kalkulator ini hanya berlaku untuk prosessor socket 775. Maka dari itu perlu adanya data tipe prosessor yang nantinya akan menentukan nilai FSB default dan multiplier.
Dari tabel 2.2 maka dapat ditulis dalam script array sehingga tidak memerlukan database. Hal ini dengan pertimbangan memory yang akan diperlukan untuk memuat aplikasi kalkulator ini harus sekecil mungkin dengan manfaat yang sebesar mungkin. Script array yang diperlukan adalah inisialisasi nilai FSB dan multiplier berdasarkan tipe prosessor yang diinputkan. Adapun script tersebut adalah sebagai berikut.
Selanjutnya adalah mengatur agar aplikasi dapat dilihat secara full screen
atau memenuhi layar. Script yang diperlukan adalah sebagai berikut.
Untuk mengatur penggunaan softkey atau mengatur agar keypad pada
handphone maka perlu pemanggilan fungsi sebagai berikut.
Script di atas akan membuat tombol kanan (exit) dan kiri (reset) menjadi sinkron dengan keypad handphone. Penempatan script-script inisialisasi adalah
pada frame pertama seperti yang tertera pada gambar 4.7 berikut ini. Pemilihan
frame pertama dengan alasan bahwa fungsi tersebut akan dipakai berulang kali.
fscommand2("SetSoftKeys", "Reset", "Exit"); var soft:Object = new Object;
fscommand2("fullscreen", true); //inisialisasi tipe prosessor var proc:Array = new Array;
proc[0] = {tipe:"E2140", fsb:200, multiplier:8}; proc[1] = {tipe:"E2160", fsb:200, multiplier:9}; proc[2] = {tipe:"E2180", fsb:200, multiplier:10}; proc[3] = {tipe:"E2200", fsb:200, multiplier:11}; proc[4] = {tipe:"E5200", fsb:200, multiplier:12.5}; proc[5] = {tipe:"E7200", fsb:266, multiplier:9.5}; proc[6] = {tipe:"E7300", fsb:266, multiplier:10}; proc[7] = {tipe:"E7400", fsb:266, multiplier:10.5}; proc[8] = {tipe:"E8200", fsb:333, multiplier:8}; proc[9] = {tipe:"E8400", fsb:333, multiplier:9}; proc[10] = {tipe:"E8500", fsb:333, multiplier:9.5}; proc[11] = {tipe:"E8600", fsb:333, multiplier:10};
Gambar 4.4 Penempatan Script Array dan Pemanggilan Fungsi
2. Intro
Hanya ada script pendek untuk menjalankan intro ini yaitu sebagai berikut.
3. Halaman Perhitungan
a. Script berikut berfungsi untuk mengubah border pada tiap komponen yang semula kuning menjadi merah. Selain itu juga mengatur agar border hanya tampil pada komponen yang sedang dipilih.
b. Script berikut akan mencari ada tidaknya tipe prosesor yang dimaksud. Jika ada maka fungsi akan memanggil array dan menghitung clock default berdasarkan nilai FSB dan Multiplier. Jika tidak ditemukan, maka
akan menuju frame 4 yang isinya pesan error.
typetxt.onChanged = function() //fungsi berjalan ketika inputan selesai dimasukkan {
type = typetxt.text.toLowerCase(); var i:Number;
//mencari ada tidaknya tipe prosessor for (i=0; i<proc.length; i++)
{ //mengubah inoutan menjadi huruf kecil semua
if (proc[i].tipe.toLowerCase() == type) { break; }
}
//jika tipe prosessor ditemukan if (i<proc.length) {
fsbdef = proc[i].fsb; multi = proc[i].multiplier; clock = fsbdef*multi; }else {
//jika tipe prosessor tidak ditemukan gotoAndStop(4);
} };
//menonaktifkan border kuning _focusrect = false;
//mengatur aktifnya border pada komponen yang dipilih var focusListener:Object = new Object ();
focusListener.onSetFocus = function (oldFocus, newFocus) { if (newFocus instanceof TextField) {
newFocus.borderColor = 0xFF0000; }
if (oldFocus != undefined && oldFocus instanceof TextField) {
oldFocus.borderColor = 0x000000; }
};
d. Script berikut adalah memberi perintah reset (kosong semua).
e. Script berikut adalah memberi perintah exit (keluar program).
3. Button list divider
Button list dalam aplikasi ini dibuat mirip dengan jendela munculan. Untuk itu akan memerlukan script berikut.
soft.onKeyDown = function(){ //mengosongkan semua nilai inputan
if (Key.getCode() == ExtendedKey.SOFT1){ typetxt.text = ""; fsbtxt.text = ""; divtxt.text = ""; fsbdf.text = ""; multitxt.text = ""; clocktxt.text = ""; hsltxt.text = ""; freqtxt.text = "";
// memanggil fungsi exit
} else if (Key.getCode() == ExtendedKey.SOFT2){ fscommand2("quit");
} }
Pada script berikut nilai yang dicetak tebal adalah nilai list yang akan dipilih. Ada empat macam yaitu 533, 667, 800, dan 1066. Berikut dicontohkan salah scriptnya
//mengarahkan krusor agar pada posisi kompeonen inputan pertama
Selection.setFocus(ls1);
//memunculkan jendela baru yang berisi list dan mematikan tombol-tombol yang lain seolah-olah jendela ini berada pada bagian depan. on(release){ gotoAndStop(3); _root.typetxt.enabled = false; _root.fsbtxt.enabled = false; _root.kal.enabled = false; _root.anal.enabled = false; }
//memunculkan nilai divider yang dipilih on (release) { _root.typetxt.enabled = true; _root.fsbtxt.enabled = true; _root.kal.enabled = true; _root.anal.enabled = true; _root.divid = 533; Selection.setFocus(_root.kal);
//menuju ke frame 2 yaitu jendela list menutup _root.gotoAndStop(2);
4. Button Kalkulasi
Ketika tombol kalkulasi ditekan akan memanggil fungsi perhitungan sebagai berikut.
5. Pesan Error
Jendela pesan error akan tampak seolah-olah berada di depan halaman utama dengan cara mematikan komponen lain.
//memunculkan jendela pesan dan mematikan komponen lain _root.typetxt.enabled = false; _root.fsbtxt.enabled = false; _root.kal.enabled = false; _root.anal.enabled = false; _root.bt.enabled = false; _root.reset.enabled = false;
//menutup jendela pesan dan menghidupakn fungsi komponen yang lain on(release){ _root.typetxt.enabled = true; _root.fsbtxt.enabled = true; _root.kal.enabled = true; _root.anal.enabled = true; Selection.setFocus(divtxt); gotoAndStop(2); }
//mengatur agar krusor mengarah ke tombol OK Selection.setFocus(ok);
//mengitung nilai clock hasil dan frequensi memory yang diinginkan
on(release){
hslclock = fsb * multi; freq = divid * fsb / fsbdef; }
6. Button Analisa
Ketika tombol analisa ditekan akan memberi perintah menuju frame 5 yang isinya tampilan halaman analisa.
7. Halaman Analisa
Pada halaman analisa, tombol reset berganti dengan tombol back, yaitu oerintah kembali ke frame 2 yang berisi halaman perhitungan. Sedangkan tombol yang lainnya adalah tombol exit yang fungsinya sama dengan halaman perhitungan, yaitu memberi perintah keluar.
Analisa dilakukan berdasarkan nilai frequensi yang dihasilkan. Ada tiga kondisi dalam perbandingan tersebut, yaitu Safe, Real, dan Extreem. Kondisi Safe terjadi ketika nilai frequensi bernilai dibawah 1000. kondisi
//mendeklarasikan fungsi back dan exit fscommand2("SetSoftKeys", "Back", "Exit"); //memanggil fungsi back dan exit
soft.onKeyDown = function(){
if (Key.getCode() == ExtendedKey.SOFT1){ gotoAndStop(2);
} else if (Key.getCode() == ExtendedKey.SOFT2){ fscommand2("quit");
} }
Key.addListener(soft);
//membuka halaman analisa yang terletak pada frame ke-5 on(release){
gotoAndStop(5); }
real terjadi apabila frequensi bernilai antara 1000 sampai dengan 1100. Sedangkan nilai frequensi di atas 1100 akan menjadikan kondisi menjadi Extreem. Adapun implementasi dalam script adalah sebagai berikut.