Selasa, 08 Agustus 2023

Membuat Dropdown List Otomatis Pada Google Form Menggunakan Data Dari Google Spreadsheet

 Pernahkah anda bertanya bagaimana cara membuat dropdown list pada google form, dimana data optionnya diambil dari sejumlah list data yang anda miliki di google spreadsheet anda ?.


Saya baru saja mendapatkan jawaban untuk pertanyaan tersebut hari ini 09-11-2019, setelah mendapat tugas dari bos saya untuk membuat kuesioner dimana salah satu pertanyaannya berupa dropdown list nama sejumlah kampus di Indonesia yang cukup banyak.

Untuk membuat kita perlu sedikit melakukan coding menggunakan Google Apps Script. Tapi tidak usah terlalu khawatir dengan scriptnya, karena disini saya akan membagikannya.

Berikut ini cara membuat dropdown list pada google form dengan memanfaatkan data dari google spreadsheet.

Pertama
Buatlah kuesioner anda terlebih dahulu pada google form


Kedua
Siapkan list data anda di google docs/Spreadsheet.
Untuk membuat list datanya anda bisa membuat sheet baru pada spreadsheet response pada form yang anda buat tadi.


Ketiga
Pilih Tools pada file data list spreadsheet anda, kemudian pilih Sript Editor.


Ke empat
Code editor akan terbuka seperti pada gambar dibawah ini


Kelima
Masukkan script berikut ini
DATA HOSTED WITH ♥ BY PASTEBIN.COM - DOWNLOAD RAW - SEE ORIGINAL
  1. function updateForm(){
  2.   // call your form and connect to the drop-down item
  3.   var form = FormApp.openById("Your Form ID");
  4.   var namesList = form.getItemById("The Drop-Down List ID").asListItem();
  5. // identify the sheet where the data resides needed to populate the drop-down
  6.   var ss = SpreadsheetApp.getActive();
  7.   var names = ss.getSheetByName("Name of Sheet in Spreadsheet");
  8.   // grab the values in the first column of the sheet - use 2 to skip header row
  9.   var namesValues = names.getRange(2, 1, names.getMaxRows() - 1).getValues();
  10.   var studentNames = [];
  11.   // convert the array ignoring empty cells
  12.   for(var i = 0; i < namesValues.length; i++)  
  13.     if(namesValues[i][0] != "")
  14.       studentNames[i] = namesValues[i][0];
  15.   // populate the drop-down with the array data
  16.   namesList.setChoiceValues(studentNames);
  17. }


Keenam
var form = FormApp.openById("Your Form ID");
Masukkan Form ID anda, anda dapat mengambil id tersebut dari link form yang anda buat


Ketujuh
var namesList = form.getItemById("The Drop-Down List ID").asListItem();
Masukkan dropdown id anda. cara mendapatkannya yaitu dengan melakukan klik kanan pada dropdown question anda lalu pilih inspect element. Pada tab element cari keyword data-item-id, anda bisa mencarinya dengan ctrl+f. Pastikan anda memilih dropdown id dari question yang benar.



Kedelapan
var names = ss.getSheetByName("Name of Sheet in Spreadsheet");
Masukkan nama sheet anda, yaitu sheet yang berisi data yang ingin anda jadikan dropdown list


Kesembilan
Sesuaikan kolom data Anda dengan mengedit fungsi names.getRange(2, 1, names.getMaxRows() - 1).getValues();, parameter pertama (angka 2) merupakan urutan baris data, sedangkan parameter kedua (angka 1) merupakan urutan kolom data
Anda dapat mengganti angka 1 dengan urutan kolom dimana data anda berada (A=1, B=2, C=3, ... dst).

Karena data saya berada di kolom A dan baris ke 1 berarti code saya menjadi names.getRange(1, 1, names.getMaxRows() - 1).getValues();


Sehingga code lengkap saya seperti berikut ini


Simpan, lalu jalankan kode anda
Maka hasilkan akan seperti berikut ini


Kesepuluh

ATUR SCRIPT TRIGGER (JALAN OTOMATIS)

Klik Menu Edit dan pilih Current project’s triggers. Buat setidaknya satu trigger untuk membuat script kamu berjalan secara otomatis (kecuali kamu suka dengan cara membukanya sepanjang waktu)

Sekian dan terima kasih, 

Sumber:

https://juliarnasution.blogspot.com/2019/11/membuat-dropdown-list-otomatis-pada.html
https://blog.rezkiagung.com/2021/03/01/membuat-google-form-dropdown-dari-spreadsheet/

Pembelajaran

  Daftar Pembelajaran 1. Kalender Pendidikan Tahun 2024/2025 (KLIK)