Google Form - Penjadwalan



Penjadwalan di Google Form
 

Penjadwalan yang dilakukan pada form ini digunakan untuk mengijinkan menerima responden  pada waktu tertentu. Jika tidak sesuai dengan waktu yang ditentukan, maka responden tidak akan bisa mengakses form tersebut. Hal ini bisa dimanfaatkan dalam pemberian kuis atau tes kepada siswa/responden.

Sebelumnya kita perlu membuat form terlebih dahulu, jika belum membuat form silahkan klik Cara Membuat Form Online untuk mengikuti petunjuknya, jika sudah membuat form ikuti langkah-langkah berikut ini untuk mengatur batas waktu penerimaan responden :


1. Buka form yang akan diberi jadwal, kemudian klik menu yang terletak di sebelah tombol SEND => klik Script editor, seperti pada Gambar 1 di bawah ini :


Penjadwalan Google Form
Gambar 1 : Form

 Maka akan tampil layar editor dengan nama Code.gs seperti pada Gambar 2 berikut ini :
Penjadwalan Google Form
Gambar 2 : Script Editor


Selanjutnya kita dapat bereksperimen dengan menuliskan kode-kode di dalam layar editor tersebut. 

2. Berikut ini merupakan gambaran umum kode dari penjadwalan yang berada di dalam myFunction( ) :



  var FORM_OPEN_DATE   =  new Date(2017, 3-1, 23, 21, 0);
  var FORM_CLOSE_DATE  =  new Date(2017, 3-1, 23, 21, 15);
    var now = new Date();

  deleteTriggers(); 
  
  if ((now.valueOf() < FORM_OPEN_DATE.valueOf())) {
    closeForm();

    ScriptApp.newTrigger("openForm")
    .timeBased()
    .at(FORM_OPEN_DATE)
    .create();

    ScriptApp.newTrigger("closeForm")
    .timeBased()
    .at(FORM_CLOSE_DATE)
    .create();
  }
   
  else if ((now.valueOf() >= FORM_OPEN_DATE.valueOf())
&& (now.valueOf() < FORM_CLOSE_DATE.valueOf())){
    openForm();

    ScriptApp.newTrigger("closeForm")
    .timeBased()
    .at(FORM_CLOSE_DATE)
    .create();
  }

  else {
    closeForm();

    ScriptApp.newTrigger("closeForm")
    .timeBased()
    .at(FORM_CLOSE_DATE)
    .create();
  }
 
}



function deleteTriggers() { 
  var triggers = ScriptApp.getProjectTriggers(); 
  for (var i in triggers) {
    ScriptApp.deleteTrigger(triggers[i]);
  }
}

function openForm() {
  var form = FormApp.getActiveForm();
  form.setAcceptingResponses(true);
}

function closeForm() { 
  var form = FormApp.getActiveForm();
  form.setAcceptingResponses(false);
  deleteTriggers();
}


Ubahlah batas waktu untuk menentukan penjadwalan sesuai dengan yang diinginkan yang terdapat pada variabel FORM_OPEN_DATE dan FORM_CLOSE_DATE. Format penulisan tanggal adalah Date(tahun, bulan-1, hari, jam, menit, detik).

3.   Kemudian run kode tersebut dengan cara : Klik Run pada menu bar.

4.  Amati form tersebut apakah penjadwalan sudah berjalan dengan baik atau belum dengan cara mengakses form tersebut sebelum open date, setelah open date maupun sebelum close date, dan setelah close date. Fungsi penjadwalan harus sudah berjalan jika benar-benar mengikuti langkah di atas dengan teliti.


Pembahasan :

  • Klausa IF-ELSE digunakan untuk membandingkan antara waktu saat ini dengan open date maupun close date. Perbandingan ini sangat penting untuk menentukan kondisi ketika kita sedang menjalankan script, selanjutnya system akan mengeksekusi kode-kode yang berada di dalam klausa tersebut. Ada 3 jenis kondisi yang diperlukan, yaitu kondisi sebelum waktu pembukaan form, kondisi melewati tanggal pembukaan form tetapi masih belum penutupan form (antara open date dan close date), dan kondisi sudah melebihi batas waktu penutupan form.
  • Trigger merupakan stored procedure yang secara otomatis akan mengeksekusi perintah-perintah yang telah ditetapkan. Maka trigger diperlukan untuk mengeksekusi kode-kode di dalam klausa IF-ELSE secara otomatis. Kode-kode tersebut berfungsi untuk membuka dan menutup form sesuai dengan waktu yang ditentukan.

  • deleteTriggers() digunakan untuk menghapus semua trigger yang sedang berjalan pada form tersebut. Fungsi ini harus dieksekusi pertama kali sebelum menjalankan fungsi yang lain agar tidak terjadi penumpukan trigger apabila kita mengeksekusi function myFunction() berkali-kali yang disebabkan adanya perubahan pada kode-kode tersebut.

Comments

  1. Gan, masih kurang ngerti nih, mana aja yang harus dirubah

    ReplyDelete
  2. bagaimana cara menggunakannya di google form, masta?

    ReplyDelete
  3. cara tau berhasilnya atau tidak gimana?

    ReplyDelete
  4. Terima kasih, matur nuwun, tank you

    ReplyDelete
  5. bagaimana membuat form kita ada count down

    ReplyDelete
  6. Ijin Copas and coba. Matur nuwun Sukses Selalu

    ReplyDelete
  7. Sip. Tapi kalau saya ingin membatasi waktu setiap pkl 9 setiap hari

    ReplyDelete
  8. Pak kalo kita udah ngisi jawaban di google from tapi pas mau ngirim jawaban waktu kita telat itu kekirim ngk?

    ReplyDelete
    Replies
    1. kalau telat biasanya sudah tidak bisa kirim jawaban

      Delete
  9. ga berhasil om. apa karena format tanggal nya berbeda dengan dikomputer saya? bisa di run hanya saja off terus formnya


    ReplyDelete
    Replies
    1. open datenya coba mundurin 12 jam waktu indonesia

      Delete

Post a Comment