Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- APPS SCRIPT MEMBUAT SATU FORM UNTUK BANYAK KELAS
- PEMBUAT: I KADEK ADI SUANDANA | [email protected]
- */
- function buatForm() {
- //---------------------------- Load Data Pengaturan -----------------------------------------------------------------------------------
- var kadoel_halamanPengaturan = SpreadsheetApp.getActive().getSheetByName('Pengaturan');
- var kadoel_mataPelajaran = kadoel_halamanPengaturan.getRange("B2").getValue(); //Sudah
- var kadoel_maxAbsen = kadoel_halamanPengaturan.getRange("B3").getValue();
- var kadoel_judulForm = kadoel_halamanPengaturan.getRange("B4").getValue(); //Sudah
- var kadoel_pesanKonfirmasi = kadoel_halamanPengaturan.getRange("B5").getValue(); //Sudah
- var kadoel_pesanFormTutup = kadoel_halamanPengaturan.getRange("B6").getValue(); //Sudah
- //----------------------------------------------------------------------------------------------------------------------------------------
- //-------------- Membuat Form Beserta Section 1 & Pengaturan Form ----------------------------------------------------------------------
- var kadoel_form = FormApp.create(kadoel_judulForm + ' - ' + kadoel_mataPelajaran).setTitle(kadoel_judulForm + ' - ' + kadoel_mataPelajaran).setIsQuiz(true); //Judul Section 1 dan Set Sebagai Kuis
- kadoel_form.setShuffleQuestions(true); //Acak Urutan Pertanyaan
- kadoel_form.setLimitOneResponsePerUser(true); // Hanya Menerima 1 Respon / Siswa
- var kadoel_sheetPetunjuk = SpreadsheetApp.getActive().getSheetByName('Petunjuk');
- var kadoel_pilihanPetunjuk = kadoel_sheetPetunjuk.getRange(2, 1, kadoel_sheetPetunjuk.getMaxRows() - 1).getValues();
- var daftarPetunjuk = "";
- for (var indexPetunjuk = 0; indexPetunjuk < kadoel_pilihanPetunjuk.length; indexPetunjuk++) {
- if (kadoel_pilihanPetunjuk[indexPetunjuk][0] != "") {
- daftarPetunjuk += (indexPetunjuk + 1) + '. ' + kadoel_pilihanPetunjuk[indexPetunjuk][0] + "\n";
- }
- }
- kadoel_form.setDescription('Petunjuk Umum: \n' + daftarPetunjuk);
- if (kadoel_pesanKonfirmasi != "") {
- kadoel_form.setConfirmationMessage(kadoel_pesanKonfirmasi) //Pesan Setelah Selesai Mengerjakan
- }
- if (kadoel_pesanFormTutup != "") {
- kadoel_form.setCustomClosedFormMessage(kadoel_pesanFormTutup) //Pesan Ketika Tidak Lagi Menerima Respon
- }
- //----------------------------------------------------------------------------------------------------------------------------------------
- //------- Menambahkan Item No Absen --------------------------------------------------------------------------------------------------
- kadoel_form.addSectionHeaderItem();
- var kadoel_dropdownAbsen = kadoel_form.addListItem().setTitle('No. Absen').setRequired(true);
- var noAbsen = [];
- for (var indexAbsen = 0; indexAbsen < Number(kadoel_maxAbsen); indexAbsen++) {
- noAbsen[indexAbsen] = indexAbsen + 1;
- }
- kadoel_dropdownAbsen.setChoiceValues(noAbsen);
- //----------------------------------------------------------------------------------------------------------------------------------------
- //------- Menambahkan Item Password --------------------------------------------------------------------------------------------------
- var kadoel_sheetKelas = SpreadsheetApp.getActive().getSheetByName('Kelas');
- var kadoel_passswordKelas = kadoel_sheetKelas.getRange(2, 2, kadoel_sheetKelas.getMaxRows() - 1).getValues();
- var daftarPassword = "";
- for (var indexPassword = 0; indexPassword < kadoel_passswordKelas.length; indexPassword++) {
- if (kadoel_passswordKelas[indexPassword][0] != "") {
- daftarPassword += kadoel_passswordKelas[indexPassword][0] + "|";
- }
- }
- //Buat Kolom Input Password
- kadoel_form.addSectionHeaderItem();
- var kadoel_token = kadoel_form.addTextItem().setTitle('Password').setRequired(true);
- var validasiToken = FormApp.createTextValidation()
- .setHelpText('Maaf, Password Salah')
- .requireTextMatchesPattern('(' + daftarPassword + ')')
- .build();
- kadoel_token.setValidation(validasiToken);
- //----------------------------------------------------------------------------------------------------------------------------------------
- //--------- Membuat Section 2 Beserta Judul dan Deskripsi -------------------------------------------------------------------------------
- kadoel_form.addPageBreakItem().setTitle("Soal Pilihan Ganda").setHelpText('Pilihlah Jawaban Yang Menurut Anda Benar');
- //----------------------------------------------------------------------------------------------------------------------------------------
- //--------- Import Soal Pilihan Ganda -------------------------------------------------------------------------------
- var kadoel_pilihanGanda = SpreadsheetApp.getActive().getSheetByName('Soal');
- var kadoel_jumlahBarisPG = kadoel_pilihanGanda.getDataRange().getNumRows();
- var kadoel_pertanyaanPG = kadoel_pilihanGanda.getRange(1, 1, kadoel_jumlahBarisPG, 1).getValues();
- var kadoel_pilihanJawabanPG = kadoel_pilihanGanda.getRange(1, 2, kadoel_jumlahBarisPG, 5).getValues();
- var kadoel_point = kadoel_pilihanGanda.getRange(1, 7, kadoel_jumlahBarisPG, 1).getValues();
- //Menambahkan Soal Pilihan Ganda, Pilihan Jawaban, Jawaban Benar, Point, Required
- for (var i = 1; i < kadoel_jumlahBarisPG; i++) {
- var kadoel_soalPG = kadoel_form.addMultipleChoiceItem();
- kadoel_soalPG.setRequired(true);
- kadoel_soalPG.setPoints(kadoel_point[i][0]);
- kadoel_soalPG.setTitle(kadoel_pertanyaanPG[i][0]);
- kadoel_soalPG.setChoices([
- kadoel_soalPG.createChoice(kadoel_pilihanJawabanPG[i][0], true),
- kadoel_soalPG.createChoice(kadoel_pilihanJawabanPG[i][1]),
- kadoel_soalPG.createChoice(kadoel_pilihanJawabanPG[i][2]),
- kadoel_soalPG.createChoice(kadoel_pilihanJawabanPG[i][3]),
- kadoel_soalPG.createChoice(kadoel_pilihanJawabanPG[i][4])
- ]);
- }
- //----------------------------------------------------------------------------------------------------------------------------------------
- //--------- Menampilkan Pesan Di Akhir Soal -------------------------------------------------------------------------------
- kadoel_form.addSectionHeaderItem().setTitle("Ingat Tekan Tombol Kirim / Send Di Bawah Untuk Mengirim Jawaban");
- //----------------------------------------------------------------------------------------------------------------------------------------
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement