Showing posts with label Luluq Miftakhul Huda. Show all posts
Showing posts with label Luluq Miftakhul Huda. Show all posts

Friday, November 1, 2013

Demo Aplikasi IOAA

Ini adalah Demo Video Aplikasi International Olympiad on Astronomy and Astrophysics berbasis Desktop (IOAA). Berikut video demonya.


Thursday, October 24, 2013

Demo Aplikasi di Fakultas Astronomy ITB

Assalamualaikum,,

Pada bebrapa minggu yang lalu, kamu dari Tim Tugas Akhir International INTERNATIONAL OLYMPIADS ON ASTRONOMY AND ASTROPHYSICS (IOAA) melakukan demo aplikasi sekaligus sosialisasi kepada dosen-dosen, staf IT dan mahasiswa fakultas astronomi Institut Teknologi Bandung (ITB). Kami melakukan demo ini adalah bertujuan untuk supaya mahasiswa astronomy bisa mengenal aplikasi ini, dan biar bisa memberikan masukan kepada kami . setelah melakukan beberapa persiapan yang dimulai pada jam 10. dan alhasil ternya acaranya berjalan dengan lancar, dan alhamdulilah ikut hadir juga para dosen besar astronomy, dan beliau banyak memberikan masukan kepada kami guna untuk menyempurnakan aplikasi yang kami buat. dan pada acara ini juga termasuk salah satu penggunaan infocus terbanyak. Ucapan terima kasih kepada bapak Dr. Chatief Kunjaya, M.Sc, yang selaku project manager dalam pembuatan aplikasi ini, yang telah banyak memberikan saran, masukan dan kepercayaan kepada kami, dan semua itu kami jadikan pembelajaran dan penyempurnaan untuk aplikasi IOAA ini, dan kami dari kelompok Tim Tugas Akhir IOAA berharap semoga aplikasi ini bisa dipakai di kancah international.

Beriku adalah salah satu Screenshoot pada saat persentasi :



Sekian dan Terima Kasih.

Pengertian Olimpiade

Olimpiade adalah event internasional utama, dengan olahraga musim panas dan musim dingin, ketika ribuan atlet berpartisipasi dalam berbagai lomba olahraga. Olimpiade diadakan setiap dua tahun di tahun genap, dengan Olimpiade, musim panas dan musim dingin bolak, Olimpiade diadakan setiap empat tahun di bawah permainan musiman mereka. Awalnya, olimpiade kuno merupakan permainan yang diadakan di Olympia, Yunani pada abad kedelapan SM untuk abad kelima Masehi. Pada abad kesembilan belas, Baron Pierre de Coubertin mendirikan komite Olimpiade Internasional (IOC) pada tahun 1894. IOC telah menjadi badan gerakan olimpiade, yang strukturnya dan tindakan didefinisikan oleh piagam olimpiade.

Evolusi dari Olympic Movement pada abad kedua puluh dipaksa IOC untuk mengadaptasi game ke dunia perubahan keadaan sosial. Beberapa penyesuaian termasuk penciptaan olahraga olimpiade musim dingin es dan salju, Para olimpiade untuk atlet dengan cacat fisik dan Youth Olympic Games untuk atlet remaja. IOC juga harus mengakomodasi permainan ke variabel ekonomi yang berbeda, realitas politik dan teknologi dari abad kedua puluh. Akibatnya, olimpiade berpaling dari amatirisme murni, yang diusulkan oleh coubertin, untuk memungkinkan atlet profesional. Semakin pentingnya media menciptakan masalah sponsor perusahaan dan pemasaran olimpiade.

Gerakan olimpiade saat ini terdiri dari federasi olahraga internasional, nasional olimpiade komite (NOC) dan komite pengorganisasian untuk setiap olimpiade tertentu. Sebagai badan pengambilan keputusan, IOC bertanggung jawab untuk memilih kota tuan rumah untuk setiap masalah. Kota tuan rumah bertanggung jawab untuk mengatur dan pendanaan kesimpulan dari permainan konsisten dengan piagam olimpiade. Program olimpiade, yang merupakan olahraga yang dimainkan pada setiap olimpiade, juga ditentukan oleh IOC. Perayaan games meliputi ritual dan simbol, seperti obor dan bendera olimpiade dan upacara pembukaan dan penutupan. Ada lebih dari 13.000 atlet berkompetisi di olimpiade musim dingin dan di 33 olahraga yang berbeda dengan sekitar 400 acara. Para finalis dari tempat pertama, kedua dan ketiga dalam acara masing-masing menerima medali olimpiade emas, perak dan perunggu masing-masing.

Games telah tumbuh dalam skala ke titik hampir semua negara yang diwakili. Pertumbuhan ini telah menciptakan berbagai tantangan, termasuk boikot, doping, korupsi pejabat publik dan terorisme. Setiap dua tahun, Olimpiade dan liputan media yang menyediakan atlet tidak diketahui kesempatan untuk mencapai ketenaran nasional dan, dalam kasus khusus, ketenaran internasional. Games juga menyediakan kesempatan yang penting untuk kota dan negara untuk mempromosikan dan menunjukkan kepada dunia.

Monday, September 9, 2013

Timer untuk Program Olympiade Astronomi

Berikut ini adalah contoh bagaimana cara membuat timer yang dapat diset pada halaman admin. yang pertama untuk mengatur berapa banyak waktu yang dibutuhkan dalam pertandingan terlebih dahulu atur waktuna pada halaman set timer yang ada pada aplikasi admin IOAA. Dibawah ini merupakan tampilan XMLnya.

sciprt  utamanya adalah sebagai berikut :
          bool hasil = await MyService.InsertTimerAsync(new ServiceReference1.Timer
            {
                startTime = txtdate.Text + " " + txttime.Text,
                endTime = Convert.ToInt16(txtduration.Text)

            });
            if (hasil)
            {
                MessageBox.Show("Timer was Set");               
            }
            else
            {
                MessageBox.Show("Cannot Set");
            }
dimana script diatas memanggil servise InsertTimerAsync yang merupakan service dari WCF yg berisi sript seperti dibawah ini:
public bool InsertTimer(Timer TimerInsert)
        {
            string strMessage = string.Empty;
            con.Open();
            SqlCommand cmd = new SqlCommand("update tbl_timer set start_time=@start_time,end_time=DATEADD(MINUTE,@end_time,@start_time)", con);
            cmd.Parameters.AddWithValue("@start_time", TimerInsert.startTime);
            cmd.Parameters.AddWithValue("@end_time", TimerInsert.endTime);
            try
            {
                int result = cmd.ExecuteNonQuery();

                con.Close();
                if (result == 1)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            catch (Exception e)
            {
                return false;
            }           
        }
Setelah settingan untuk timer sudah dibuat maka cara membuat timer dan mencocokkan hasil settingan timer adalah sebagai berikut :
public void timer_Tick(object sender, object e)
        {
            new Action(async () =>
            {
                bool cek = await service.checkTimerAsync();

                if (cek)
                {
                    txtWarning.Content = "";
                    gridSoal.Visibility = Visibility.Visible;
                    var c = await service.GetTimeAsync();
                    foreach (var cou in c)
                    {
                        sec = cou.Timer;
                    }
                    jam = sec / 3600;
                    int b = jam * 3600;
                    menit = (sec - b) / 60;
                    detik = (sec - b) % 60;



                    // Else continue counting.
                    if (detik < 1)
                    {
                        detik = 59;
                        if (menit == 0)
                        {
                            menit = 59;
                            if (jam != 0)
                                jam -= 1;

                        }
                        else
                        {
                            menit -= 1;
                        }
                    }
                    else
                        detik -= 1;
                    // Display the current values of hours, minutes and seconds in
                    // the corresponding fields.
                    t0.Text = "Time :";
                    t1.Text = ":";
                    t2.Text = ":";
                    txtJam.Text = jam.ToString();
                    txtMenit.Text = menit.ToString();
                    txtDetik.Text = detik.ToString();
                    if ((jam == 0) && (menit == 0) && (detik == 0))
                    {
                        // If the time is over, clear all settings and fields.
                        // Also, show the message, notifying that the time is over.

                        // this.Frame.Navigate(typeof(HalamanPeserta), rootPage);
                        t0.Text = "";
                        t1.Text = "";
                        t2.Text = "";
                        txtJam.Text = "";
                        txtMenit.Text = "";
                        txtDetik.Text = "";
                        gridSoal.Visibility = Visibility.Collapsed;
                        txtWarning.Content = "End Competition";
                        timer.Stop();
                    }
                }
                else
                {
                    // MessageBox.Show("Not the competition time");
                    gridSoal.Visibility = Visibility.Collapsed;
                    t0.Text = "";
                    t1.Text = "";
                    t2.Text = "";
                    txtJam.Text = "";
                    txtMenit.Text = "";
                    txtDetik.Text = "";
                    txtWarning.Content = "Not the competition time";

                }
            }).Invoke();


        }

Auto Refresh Page untuk Halaman IOAA

Membuat Auto refresh Halaman
dengan tujuan agar informasi pada halaman hasil penilaian dapat berubah secara realtime tiap 20 detik maka perlu ditambahkan script seperti berikut ini:
untuk fungsi mainnya adalah sebagai berikut ini dengan memanfaatkan sebuah thread maka secara otomatis dapat membuat halaman tersebut selalu auto refresh tiap 20 detik.
public Main()
        {

            try
            {
                RebindData();
                SetTimer();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

           
        }
Script diatas memanggil beberapa fungsi yaitu fungsi RebindData untuk menaruh script utama yang dijalankan sedangkan SetTimer untuk durasi waktu thread berlangsung. Berikut ini contoh script RebindData() dan SetTimer untuk halaman Moderation
        private void RebindData()
        {
            new Action(async () =>
            {
                var user = await MyService.GetLeaderIdAsync(new ServiceReference1.User { UserId = idleader });
                foreach (var usr in user)
                {
                    country = usr.UserCountry;
                }


                var gradeleader = await MyService.GetModerasiLeaderAsync(new ServiceReference1.ModerasiLeader { Country = country });
                if (gradeleader.Count() > 0)
                {
                    foreach (var grd in gradeleader)
                    {
                        dtgrdModeration.ItemsSource = await MyService.GetModerasiLeaderAsync(new ServiceReference1.ModerasiLeader { Country = country });
                        dtgrdModeration.Columns[0].DisplayIndex = 3;
                        dtgrdModeration.Columns[1].DisplayIndex = 2;
                        dtgrdModeration.Columns[2].DisplayIndex = 1;
                        dtgrdModeration.Columns[3].DisplayIndex = 0;
                    }
                }
            }).Invoke();
        }

        protected void dispatcherTimer_Tick(object sender, EventArgs e)
        {
            RebindData();
        }

        private void SetTimer()
        {
            DispatcherTimer dispatcherTimer = new DispatcherTimer();
            dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
            dispatcherTimer.Interval = new TimeSpan(0, 0, 20);
            dispatcherTimer.Start();

        }