{"id":10,"date":"2005-12-01T16:43:00","date_gmt":"2005-12-01T16:43:00","guid":{"rendered":"http:\/\/www.rumahweb.com\/journal\/?p=10"},"modified":"2024-03-26T08:29:38","modified_gmt":"2024-03-26T01:29:38","slug":"dynamic-flash-menghitung-user-online","status":"publish","type":"post","link":"https:\/\/www.rumahweb.com\/journal\/dynamic-flash-menghitung-user-online\/","title":{"rendered":"Dynamic Flash: Menghitung User Online"},"content":{"rendered":"\n<p>Macromedia Flash adalah salah satu tools yang dapat digunakan untuk membuat website. Tapi kebanyakan orang salah menduga, dan berpikiran bahwa website yang menggunakan flash akan susah sekali untuk di-update. Salah besar..!!<\/p>\n\n\n\n<p>Sebelum kita menghistung user online, mari kita coba membuat sebuah dynamic flash terlebih dahulu. Software yang digunakan adalah Macromedia Flash MX.<\/p>\n\n\n\n<p>*Buka Flash dan buat file baru (shortcut : Ctrl+N ). Setelah file baru keluar, buat text area dengan ukuran 310 x 120.<br \/><br \/>Nilai untuk ukurannya, bisa dimasukkan dibagian properties text area tadi.<br \/>*Masih di bagian propertiesnya text area. Ganti text yang akan digunakan menjadi dynamic text, dan dan masukkan \u00e2\u20ac\u02dccount\u00e2\u20ac\u2122 pada kolom var.<\/p>\n\n\n\n<p>Selesai deh untuk text area nya, gampang kan.. Lanjuut<\/p>\n\n\n\n<p>* Sekarang kita akan membuat tombol, yang akan memanggil dynamic text.<br \/>Buat sebuah kotak (gunakan Rectangle Tool). Kotak ini bakal jadi background dari tombol yang kita buat. Ukurannya? Warnanya? Ya tergantung selera masing-masing dong.<br \/>Setelah itu, seleksi kotaknya dan tekan F8. Ganti name si kotak menjadi \u00e2\u20ac\u02dcbutton\u00e2\u20ac\u2122 dan set behaviour : button. Kalau udah, tekan ok<br \/><br \/><em>Cara lain untuk convert to symbol : pilih objek yang akan diubah simbolnya, klik kanan, lalu pilih \u00e2\u20ac\u02dcconvert to symbol\u00e2\u20ac\u2122..<\/em><br \/>*Selanjutnya, kita beri tulisan diatas tombol kotak tadi.<\/p>\n\n\n\n<p>Seleksi kotaknya, trus klik Edit -&gt; Edit Selected. Nah, baru deh kita taruh tulisan diatas kotaknya. Gunakan text tool, lalu tulis \u00e2\u20ac\u02dcupdate\u00e2\u20ac\u2122, dan letakkan di tengah kotak.<br \/><br \/>Jangan lupa, tulisannya di set ke static text yah.<\/p>\n\n\n\n<p>* Terus pilih frame \u00e2\u20ac\u02dcover\u00e2\u20ac\u2122 dan tekan F6 (bisa juga dengan klik kanan pada frame \u00e2\u20ac\u02dcover\u00e2\u20ac\u2122, trus pilih insert keyframe).<br \/><\/p>\n\n\n\n<p>* Pilih background dari tombol tadi, lalu ganti warnanya.<br \/>Lakukan hal yang sama pada frame \u00e2\u20ac\u02dcdown\u00e2\u20ac\u2122. Insert keyframe -&gt; ganti warna background.<br \/>Catatan: usahakan warna tombol pada tiap2 frame dibuat berbeda.<\/p>\n\n\n\n<p>Tekan Ctrl+E untuk kembali ke dokumen utama.<br \/>* Seleksi tombol, lalu paste kode dibawah ini pada bagian action \u00e2\u20ac\u201c button<\/p>\n\n\n\n<p>on (release) {<br \/>loadVariablesNum(&#8220;data.txt?RND=&#8221;+random(999), 0);<br \/>}<br \/><\/p>\n\n\n\n<p>Penjelasan kode:<br \/><em>RND digunakan sebagai variabel acak, dan memaksa flash nge-load file yang sudah di attach. Sangat penting menggunakan variabel ini dalam setiap pembuatan movie pada flash.<\/em><\/p>\n\n\n\n<p><em><br \/><\/em><em>Kode tersebut \u00e2\u20ac\u02dcmengambil\u00e2\u20ac\u2122 isi dari file data.txt. Nah, sekarang coba simpan file flash-nya dengan nama data.fla. Kemudian tekan Ctrl+F12 (akan membuka web browser dengan animasi flash yang sudah dibuat tadi.<\/em><br \/>Jika sudah selesai di simpan, berarti saatnya kita buka notepad, dan paste kode di bawah ini ke dalam notepad tsb.<br \/>Count=Hello World<\/p>\n\n\n\n<p>Lalu simpan di dalam folder yang sama dengan data.fla, dan beri nama data.txt.<\/p>\n\n\n\n<p>Jadi deh dynamic movie kita.. Masih kebuka kan web browsernya? Coba tekan tombol \u00e2\u20ac\u02dcupdate\u00e2\u20ac\u2122 yang sudah kita buat tadi..<br \/>Hasilnya sama kan dengan yang dibawah ini?<\/p>\n\n\n\n<p><strong>Menghitung user online<\/strong><br \/>Prinsipnya, user yang berkunjung si website kita, akan dilihat alamat IP-nya. Dan jika alamt IP tersebut sudah ada di database (dalam rentang waktu 20 detik terakhir) maka tidak akan dianggap dihitung sebagai kunjungan baru.<br \/>Kali ini kita akan mencoba membuat sebuah aplikasi untuk menghitung user online, dengan menggunakan dynamic flash.<br \/>Tapi sebelumnya, persiapkan dulu \u00e2\u20ac\u0153alat-\u00e2\u20ac\u0153alat\u00e2\u20ac\u009d yang nanti kita butuhkan :<br \/>1. Macromedia Flash<br \/>2. Dynamic server side language.. Untuk yang sekarang, kita akan pakai PHP (sudah berkenalan kan sebelumnya?)<br \/>3.MySQL database<br \/>4. web server<\/p>\n\n\n\n<p>Kalau sudah tersedia semua, yuk langsung kita praktekkan<br \/>* Buat database usersOnline. Menggunakan MySQL tentunya<br \/><br \/>biar lebih mudah, kita bisa juga kok ngakses MySQL melalui phpmyadmin (kalau sudah tersedia di localhost)<\/p>\n\n\n\n<p>jika sukses, maka seharusnya sudah ada 1 tabel di dalam database usersOnline<br \/><\/p>\n\n\n\n<p>* Nah, sekarang kita akan membuat file php, dan kita beri nama count.php dan disimpan di web server.. (atau direktori yang jadi localhost)<br \/>Coding-nya:<br \/><code><br \/>\n&lt; ?php <\/code><\/p>\n\n\n\n<p>$dbServer = &#8220;localhost&#8221;;<br \/>$dbName = &#8220;usersOnline&#8221;;<br \/>$dbUser = &#8220;root&#8221;;<br \/>$dbpass = &#8220;&#8221;;<\/p>\n\n\n\n<p>\/\/ Tambah user ke database<br \/>global $HTTP_SERVER_VARS;<\/p>\n\n\n\n<p>define(&#8220;SESSION_LENGTH&#8221;, 20);<\/p>\n\n\n\n<p>$userIP = $HTTP_SERVER_VARS[&#8220;REMOTE_ADDR&#8221;];<\/p>\n\n\n\n<p>$sConn = @mysql_connect($dbServer, $dbUser, $dbPass);<\/p>\n\n\n\n<p>$dbConn = @mysql_select_db($dbName, $sConn);<\/p>\n\n\n\n<p><code>$timeMax = time() - (60 * SESSION_LENGTH);<br \/>\n$result = @mysql_query(\"select count(*) from usersOnline where unix_timestamp(dateAdded) &gt;= '$timeMax' and userIP = '$userIP'\"); <\/code><\/p>\n\n\n\n<p><code>$recordExists = mysql_result($result, 0, 0) &gt; 0 ? true : false;<\/code><\/p>\n\n\n\n<p>if(!$recordExists)<br \/>{<br \/>\/\/ Tambah record buat user<br \/>@mysql_query(&#8220;insert into usersOnline(userIP) values(&#8216;$userIP&#8217;)&#8221;);<br \/>}<\/p>\n\n\n\n<p>\/\/ Hitung user<\/p>\n\n\n\n<p>$result = mysql_query(&#8220;select count(*) from usersOnline where unix_timestamp(dateAdded) &gt;= &#8216;$timeMax'&#8221;);<\/p>\n\n\n\n<p>$usersOnline = mysql_result($result, 0, 0);<\/p>\n\n\n\n<p>\/\/ Flash variable<\/p>\n\n\n\n<p>echo &#8216;Count=&#8217; . $usersOnline;<\/p>\n\n\n\n<p><code><\/code><code>?&gt; <\/code><br \/>Kalau script ini dijalankan, maka akan muncul tulisan Count = 1<br \/><em><br \/>Database sudah selesai, PHP juga sudah jadi.. berarti tinggal dynamic movie-nya deh..<\/em><\/p>\n\n\n\n<p>* Buat file flash baru, dengan ukuran 200&#215;80 kemudian simpan di web server (localhost tadi, satu folder dengan count.php) dengan nama count.fla.<br \/>* Lalu, tulis \u00e2\u20ac\u02dcactive user\u00e2\u20ac\u2122 dengan menggunakan text tool, dan buat sebuah text area disebelahnya.<br \/><\/p>\n\n\n\n<p><em>Pada tulisan \u00e2\u20ac\u02dcactive user\u00e2\u20ac\u2122 set propertiesnya menjadi static text, dan untuk text area, ganti menjadi dynamic text.<\/em><br \/>Kemudian pada timeline nya, pilih frame 1<br \/><\/p>\n\n\n\n<p>Lalu pada action box, masukkan kode berikut ini.<\/p>\n\n\n\n<p>loadVariablesNum(&#8220;count.php?RND=&#8221;+random(999), 0);<\/p>\n\n\n\n<p>File yang di load sekarang adalah file count.php yang akan menghitung jumlah user yang online..<br \/>Yang terakhir kita butuhkan adalah membuat loop dengan menggunakan timeline. Prinsipnya, kita harus me-reload file count.php setiap 20 detik. Dan karena 1 detik itu = 12 frame, maka kita butuh frame sebanyak 240 untuk melakukan reload selama 20 detik.<br \/>Caranya,<br \/>pilih frame 240 pada timeline kemudian buat keyframe baru di frame 240 tsb. Nah, pada bagian action-nya, tambahkan script berikut:<br \/>gotoAndPlay(1);<\/p>\n\n\n\n<p>nah selesai deh.. untuk mencobanya, pastikan file count.php, count.html, count.swf berada pada folder yang sama di web server.<\/p>\n\n\n\n<p>Selamat mencoba..!!<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2024\/03\/Ads-728x90-Promo-Hosting-Annually.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2024\/03\/Ads-728x90-Promo-Hosting-Annually-1024x127.jpg\" alt=\"\" class=\"wp-image-46262\" width=\"728\" height=\"90\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2024\/03\/Ads-728x90-Promo-Hosting-Annually-1024x127.jpg 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2024\/03\/Ads-728x90-Promo-Hosting-Annually-300x37.jpg 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2024\/03\/Ads-728x90-Promo-Hosting-Annually-768x95.jpg 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2024\/03\/Ads-728x90-Promo-Hosting-Annually-370x46.jpg 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2024\/03\/Ads-728x90-Promo-Hosting-Annually-270x33.jpg 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2024\/03\/Ads-728x90-Promo-Hosting-Annually-570x71.jpg 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2024\/03\/Ads-728x90-Promo-Hosting-Annually-1500x188.jpg 1500w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2024\/03\/Ads-728x90-Promo-Hosting-Annually-740x92.jpg 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2024\/03\/Ads-728x90-Promo-Hosting-Annually.jpg 1517w\" sizes=\"auto, (max-width: 728px) 100vw, 728px\" \/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Macromedia Flash adalah salah satu tools yang dapat digunakan untuk membuat website. Tapi kebanyakan orang salah menduga, dan berpikiran bahwa website yang menggunakan flash akan susah sekali untuk di-update. Salah besar..!! Sebelum kita menghistung user online, mari kita coba membuat sebuah dynamic flash terlebih dahulu. Software yang digunakan adalah Macromedia Flash MX. *Buka Flash dan [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[5,7],"tags":[],"class_list":{"0":"post-10","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-web-design","7":"category-web-programming"},"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p8n3G7-a","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/10","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/comments?post=10"}],"version-history":[{"count":0,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/10\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media?parent=10"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/categories?post=10"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/tags?post=10"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}