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 :
Gambar 1 : Form |
Maka
akan tampil layar editor dengan nama Code.gs seperti pada Gambar 2 berikut ini :
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).
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.
gak berhasil om
ReplyDeletedi bagian yg mana?
Deletesaya Berhasil gan... baris pertama ditambah function myFunction() {
Deletesip :)
Deleteada cara lain selain ini?
ReplyDeleteGan, masih kurang ngerti nih, mana aja yang harus dirubah
ReplyDeletebagaimana cara menggunakannya di google form, masta?
ReplyDeleteits woks,, thank you suhu...
ReplyDeletecara tau berhasilnya atau tidak gimana?
ReplyDeleteTerima kasih, matur nuwun, tank you
ReplyDeleteizin copas ya
ReplyDeletebagaimana membuat form kita ada count down
ReplyDeleteIjin Copas and coba. Matur nuwun Sukses Selalu
ReplyDeleteSip. Tapi kalau saya ingin membatasi waktu setiap pkl 9 setiap hari
ReplyDeletehttps://youtu.be/Qp0iWit-ohA
Deletetrima kasih, berguna :)
ReplyDeletePak kalo kita udah ngisi jawaban di google from tapi pas mau ngirim jawaban waktu kita telat itu kekirim ngk?
ReplyDeletekalau telat biasanya sudah tidak bisa kirim jawaban
Deletehttps//bit.iy/submung
ReplyDeletega berhasil om. apa karena format tanggal nya berbeda dengan dikomputer saya? bisa di run hanya saja off terus formnya
ReplyDeleteopen datenya coba mundurin 12 jam waktu indonesia
Delete