LAPORAN PRAKTIKUM MODUL XI
MULTIMEDIA
"MATH CLASS ACTION SCRIPT 2.0"
Disusun Oleh :
Ananda Putri Syaviri
(130533608243)
PTI OFF B
UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO
PROGRAM STUDI S1 PENDIDIKAN TEKNIK INFORMATIKA
MARET 2015
MODUL XI
MATH CLASS ACTION SCRIPT 2.0
KOMPETENSI DASAR
Memahami dan menerapkan fungsi matematika AS 2.0 untuk membuat objek dan grafik trigonometri
Menerapkan fungsi matematika AS 2.0 untuk membuat animasi gerak objek.
TUJUAN
Mahasiswa mampu memahami dan menerapkan fungsi matematika AS 2.0 untuk membuat objek dan grafik trigonometri
Mahasiswa mampu menerapkan fungsi matematika AS 2.0 untuk membuat animasi gerak objek.
DASAR TEORI
Math Class
Math Class adalah kumpulan math function/ fungsi matematika yang disediakan oleh Flash. Berikut penjelasan beberapa fungsi matematika yang ada pada flash beserta cara penulisannya.
Math.round();
Digunakan untuk membulatkan bilangan yang didefinisikan atau diberikan menuju pembulatan terdekat.
Math.ceil();
Digunakan untuk membulatkan bilangan keatas pada bilangan bulat terdekat.
Math.floor();
Digunakan untuk membulatkan bilangan kebawah pada bilangan bulat terdekat.
Math.min ();
Digunakan untuk menentukan nilai bilangan terkecil dari nilai awal.
Math.max();
Digunakan untuk menentukan bilangan terbesar suatu variable.
Math.abs();
Digunakan untuk menentukan nilai absolut suatu variable.
Math.cos ();
Digunakan untuk menghitung nilai cosinus dari sudut tertentu dalam radian.
Math.sin ();
Digunakan untuk menghitung nilai sinus dari sudut tertentu dalam radian.
Math.tan();
Digunakan untuk menghitung nilai tangen dari sudut tertentu dalam radian.
Math.exp();
Digunakan untuk menghitung nilai eksponen dari suatu variable tertentu.
Math.log();
Digunakan untuk menghitung nilai logaritma dari suatu variable tertentu.
Math.pow();
Digunakan untuk menghitung nilai kuadrat dari suatu variable tertentu.
Math.random();
Digunakan untuk menghitung nilai random dari variable tertentu.
Math.sqrt();
Digunakan untuk menghitung nilai akar dari suatu variable tertentu.
Membuat Objek dengan Fungsi Matematika
Langkah-langkah membuat objek :
Buat objek baru dengan memilih New >> ActionScript 2.0.
Buat layer dengan nama Lingkaran.
Masukan script berikut ke keyframe 1 layer lingkaran:
Berikut penjelasannya:
lineStyle(3, 0xff0000); adalah untuk mengatur ketebalan garis sebesar "3", dan warna garis adalah merah.
moveTo(x, y); adalah untuk mengatur titik koordinat awal dari garis yang akan dibuat, yaitu pada koordinat x=Math.cos(i) * 100; dan y= Math.sin(i) *100;.
lineTo(x+1, y); adalah untuk meletakkan titik-titik pada koordinat x dan y sehingga akan ditarik garis antara titik titik tersebut untuk membentuk sebuah lingkaran.
.
Membuat Grafik dengan Memanfaatkan Fungsi Matematika dan Duplicate Objek
Grafik yang akan dibuat adalah grafik Trigonometri yang memanfaatkan math class trigonometri seperti Sin, Cos, dan Tan. Contoh di bawah adalah membuat grafik Sinus. Untuk menghasilkan suatu nilai sinus, fungsi yang digunakan adalah fungsi sin, contoh cara penulisannya sebagai berikut:
y = sin(90)
Karena nilai yang dihitung oleh fungsi ini berbentuk radian maka nilai sudut harus diubah ke nilai radian agar menghasilkan nilai yang sesuai (terkecuali jika memang nilai yang akan dihitung dalam bentuk radian)
Rumus konversi sudut ke radian:
Radian = sudut * π / 180O
Untuk mendapatkan nilai π yang akurat dapat digunakan fungsi PI dari Math. Class. Sehingga rumus y = sin(90O) ditulis dalam Script menjadi:
Y = Math.sin(90 * Math.PI / 180);
Sebelum membuat grafik trigonometri harus dipahami terlebih dahulu apa itu duplicateMovieClip. Duplicate Movie adalah penduplikasian suatu objek atau sama halnya dengan copy-paste object/ symbol.
Langkah-langkah membuat grafik sinus
Buat objek baru dengan memilih New >> ActionScript 2.0.
Persiapkan 3 layer yaitu layer AS, Objek, dan Garis Koordinat
Pada layer objek buatlah objek lingkaran menggunakan elips tool dengan ukuran 2px, beri nama instance name "grafik" .
Kemudian buat garis koordinat menggunakan line tool pada layer "grs_koor". Gambar sumbu x pada koordinat y = 200; dan membuat garis sumbu y pada koordinat x = 50.
Masukan Script berikut pada layer AS untuk membuat grafik sinus.
Setelah selesai, lihat hasilnya (CTRL+Enter)
PRA-LATIHAN
Membuat Simulasi Luas & Kelililng Persegi Panjang
Langkah-langkah pembuatan:
Bukalah flash dokumen ActionScript 2.0 dengan ukuran stage 800x600 pixels dengan FPS(Frame Per Second) 20.
Buat beberapa teks dan garis dengan menggunakan static text dan line tool seperti gambar berikut.
Buat 2 teks tool dengan input text, kemudian beri nama variable pada setiap input text dan tempatkan sesuai gambar berikut.
Buat 2 teks tool dengan Dynamic text dan tempatkan sesuai gambar berikut.
Buat sebuah kotak berwarna dengan menggunakan Rectangle Tool. Atur sesuai gambar dibawah ini
Kemudian ubah kotak berwarna tersebut menjadi movie clip dan beri nama instance name "persegi"
Buat sebuah tombol dengan menekan toolbar Window-Common Libraries-Button. Dan beri nama instance name "hitung". Pilih salah satu dari pilihan tombol tersebut. Dan atur penempatan sesuai gambar berikut.
Buat layer baru dengan nama "ActionScript". Klik kanan frame 1 pada layer tersebut dan pilih Actions. Beri actionscript seperti berikut:
Tekan Ctrl+Enter untuk melihat hasil
LATIHAN
Buatlah kalkulator sederhana dengan memanfaatkan operator dan fungsi matematika pada math class minimal masing-masing 4 macam.
Buat beberapa layer untuk membentuk aplikasi kalkulator sederhana.
Beri judul pada aplikasi
Kemudian beri bingkai sebagai background, kemudain ubah pada properiesnya sebagai graphic dan beri instance name "symbol 1". (agar dapat ditampilkan transparan).
Kemudian buat bingkai untuk kalkulatornya menggunakan rectangular tool.
Kemudian didalam bingkai kalkulatornya, susun button-button angka dan operasi aritmatika dan jangan lupa ubah menjadi button pada propertiesnya. Sertakan button reset diluar bingkai atau didalam bingkai sesuai selera.
Kemudian isikan script berikut pada layer action pada frame 1
operation="no";
stop();
koma = 0;
angka = 1;
out = "";
reset.onRelease=function(){
out="";
operation="no";
koma = 0;
angka = 1;
operator = 1;
awal = 1;
}
tbl1.onRelease=function(){
if(angka == 1)
{
out=out+"1";
operator = 0;
}
}
tbl2.onRelease=function(){
if(angka == 1)
{
out=out+"2";
operator = 0;
}
}
tbl3.onRelease=function(){
if(angka == 1)
{
out=out+"3";
operator = 0;
}
}
tbl4.onRelease=function(){
if(angka == 1)
{
out=out+"4";
operator = 0;
}
}
tbl5.onRelease=function(){
if(angka == 1)
{
out=out+"5";
operator = 0;
}
}
tbl6.onRelease=function(){
if(angka == 1)
{
out=out+"6";
operator = 0;
}
}
tbl7.onRelease=function(){
if(angka == 1)
{
out=out+"7";
operator = 0;
}
}
tbl8.onRelease=function(){
if(angka == 1)
{
out=out+"8";
operator = 0;
}
}
tbl9.onRelease=function(){
if(angka == 1)
{
out=out+"9";
operator = 0;
}
}
tbl0.onRelease=function(){
if(angka == 1)
{
out=out+"0";
operator = 0;
}
}
tbltik.onRelease=function(){
if(out!=""){
if (koma==0){
out=out+".";
koma = 1;
angka = 1;
operator = 1;
}
}
}
tbltambah.onRelease=function(){
if(out!=""){
if (operation=="no") {
out=out+"+";
operation="tambah";
koma = 0;
angka = 1;
operator = 1;
}
}
}
tblkurang.onRelease=function(){
if(out!=""){
if (operation=="no") {
out=out+"-";
operation="kurang";
koma = 0;
angka = 1;
operator = 1;
}
}
}
tblkali.onRelease=function(){
if(out!=""){
if (operation=="no") {
out=out+"x";
operation="kali";
koma = 0;
angka = 1;
operator = 1;
}
}
}
tblbagi.onRelease=function(){
if(out!=""){
if (operation=="no") {
out=out+"/";
operation="bagi";
koma = 0;
angka = 1;
operator = 1;
}
}
}
tblsin.onRelease=function(){
if(out!=""){
if (operation=="no") {
out = Math.sin(out);
koma = 0;
angka = 1;
operator = 1;
}
}
}
tblcos.onRelease=function(){
if(out!=""){
if (operation=="no") {
out = Math.cos(out);
koma = 0;
angka = 1;
operator = 1;
}
}
}
tbltan.onRelease=function(){
if(out!=""){
if (operation=="no") {
out = Math.tan(out);
koma = 0;
angka = 1;
operator = 1;
}
}
}
tblakar.onRelease=function(){
if(out!=""){
if (operation=="no") {
out = Math.sqrt(out);
koma = 0;
angka = 1;
operator = 1;
}
}
}
tblenter.onRelease=function(){
if(out!=""){
if (operator !=1){
if (operation=="tambah") {
myArray=out.split("+");
number1=Number(myArray[0]);
number2=Number(myArray[1]);
total=number1+number2;
out=total;
operation="no";
}
if (operation=="kurang") {
myArray=out.split("-");
number1=Number(myArray[0]);
number2=Number(myArray[1]);
total=number1-number2;
out=total;
operation="no";
}
if (operation=="kali") {
myArray=out.split("x");
number1=Number(myArray[0]);
number2=Number(myArray[1]);
total=number1*number2;
out=total;
operation="no";
}
if (operation=="bagi") {
myArray=out.split("/");
number1=Number(myArray[0]);
number2=Number(myArray[1]);
total=number1/number2;
out=total;
operation="no";
}
koma = 1;
angka = 0;
operator = 1
}
}
}
Tekan ctrl+enter untuk melihat hasil
nb: setiap button jangan lupa diberi instance name, agar ketika menuliskan script tidak salah menuliskan nama button. Ex: button o diberi nama tbl0, dan seterusnya.
Buatlah grafik animasi grafik sinus, cosinus, dan tangen. Dengan ketentuan:
Grafik bergerak dari koordinat 0 (pada sumbu koordinat) dan berakhir pada koordinat 360
Warna grafik 3 kali 5 angka terakhir NIM, dan tinggi grafik 2 kali 2 angka terakhir NIM kalian masing-masing.
Grafik triginometri tampil ketika tombol salah satu tombol di-klik, misal di-klik tombol sin maka animasi grafik sinus mulai berjalan. Tanpa perlu di-run ulang, ketika button cos/ tan ditekan maka grafik cos/tan mulai dijalankan dan grafik Sebelumnya menghilang.
Tidak boleh menggunakan Manual Tween
Buat beberapa layer untuk membentuk animasi grafik.
Layer back digunakan untuk memberikan bingkai background berwarna
Kemudian buat garis koordinat pada layer baru dan beri nama "garis koordinat".
Kemudian buat objek lingkaran kecil pada koordinat 0,0 yang digunakan sebagai titik awal pergerakan grafik.
Kemudian buat button sin , cos, tan pada layer button dengan menggunakan "bar"
bar blue = sin, brown = cos, gold = tan
Berikan script pada layer AS pada frame 1
stop();
var sudut : Number = 0;
var tinggi : Number = 0;
btn_sin.onRelease=function(){
sudut = 0;
grafik._x = 50;
grafik._y = 200;
tinggi = 2*43;
grafik.lineStyle(5, 0x041215);
grafik.onEnterFrame = function()
{
if (sudut < 360){
a = tinggi * Math.sin (sudut * Math.PI /180);
grafik._y = 200 - a;
duplicateMovieClip(grafik, "sinus" + sudut, sudut);
grafik._x++;
sudut++;
}
else {
stop();
}
}
}
btn_cos.onRelease=function(){
grafik._x = 50;
grafik._y = 100;
sudut = 0;
grafik.onEnterFrame = function()
{
if (sudut < 360){
a = tinggi * Math.cos (sudut * Math.PI /180);
grafik._y = 200 - a;
duplicateMovieClip(grafik, "sinus" + sudut, sudut);
grafik._x++;
sudut++;
}
else {
stop();
}
}
}
btn_tan.onRelease=function(){
sudut = 0;
grafik._x = 50;
grafik._y = 200;
grafik.onEnterFrame = function()
{
if (sudut < 360){
a = tinggi * (Math.sin (sudut * Math.PI /180))/(Math.cos (sudut * Math.PI /180));
grafik._y = 200 - a;
duplicateMovieClip(grafik, "sinus" + sudut, sudut);
grafik._x++;
sudut++;
}
else {
stop();
}
}
}
Tekan ctrl+enter untuk melihat hasil
sin
cos
tan
TUGAS RUMAH
Buat animasi revolusi bulan mengelilingi bumi. Dengan ketentuan:
Jarak antara bumi dan bulan dapat diatur dengan input box (input box hanya dapat diisi angka 0-9).
Objek Bulan mengelilingi Objek Bumi secara terus-menerus.
Perputaran bulan Searah Jarum Jam untuk NIM Genap, dan berlawanan dengan Jarum Jam untuk NIM Ganjil
Tidak boleh menggunakan Manual Motion.
Buat beberapa layer untuk membentuk animasi perputaran bumi
Kemudian pada layer bumi-isi, buat objek matahari dan bumi dengan menggunakan oval tool dan beri warna sesuai keinginan.
Kemudian buat textbox berikut untuk menginputkan jari-jari perputaran bumi yang ingin ditampilkan.
Berikut symbol-simbol yang digunakan pada project ini
Kemudian pada layer action, isikan script berikut pada frame 1.
stop();
var jarijari:Number = 0;
var intervalId:Number;
var hitung:Number = 0;
var max:Number = 360;
var durasi:Number = 2;
var sudut:Number = 0;
_root.go.onRelease = function ()
{
hitung = int(input);
}
bumi._x = Stage.width/2-40;
bumi._y = Stage.height/2-85;
function executeCallback():Void {
jarijari = 43 + (10*input);
a = jarijari*Math.cos(sudut*Math.PI/180);
b = jarijari*Math.sin(sudut*Math.PI/180);
bulan._y = a+bumi._y+25;
bulan._x = b+bumi._x+25;
sudut++;
if (hitung>=max) {
clearInterval(intervalId);
}
hitung--;
}
intervalId = setInterval(this, "executeCallback", durasi);
Tekan ctrl+enter untuk melihat hasil
KESIMPULAN
Flash dapat digunakan untuk membuat aplikasi matematika, terdapat banyak fungsi math yang dapat digunakan.
Untuk membuat fungsi grafik dapat menggunakan fungsi sin-cos-tan.
Untuk membuat sebuah variable pada flash menggunakan keyword "var".
Untuk membuat sebuah tombol dapat menggunakan toolbar Window-Common Libraries-Button".
Untuk membuat garis pada flash dapat menggunakan fungsi lineStyle dengan parameter, ketebalan dan warna yang ingin digunakan.
Untuk membuat movieclip dengan script dapat menggunakan fungsi creatEmptyMovieClip.
Untuk perputaran searah jarum jam menggunakan fungsi sin dan cos, jika pendeklarasian arah objek terdiri dari a dan b atau x dan y , maka untuk perputaran searah jarum jam, a = sin, b =cos. Dan sebaliknya untuk perputaran berlawanan arah jarum jam, a= cos, b = sin.
DAFTAR RUJUKAN
Modul 11 Praktikum Multimedia. Prodi S1 Pendidikan Teknik Informatika . Universitas Negeri Malang 2015