Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- APPS SCRIPT UNTUK MENGIMPORT SOAL DARI GOOGLE SPREADSHEET KE GOOGLE FORM
- PEMBUAT: I KADEK ADI SUANDANA | [email protected]
- */
- function importDariSpreadSheet() {
- //---------------------------- Load Data Pengaturan -----------------------------------------------------------------------------------
- var kadoel_halamanPengaturan = SpreadsheetApp.getActive().getSheetByName('Pengaturan');
- var kadoel_mataPelajaran = kadoel_halamanPengaturan.getRange("B2").getValue(); //Sudah
- var kadoel_tanggapanSiswa = kadoel_halamanPengaturan.getRange("B3").getValue(); //Sudah
- var kadoel_siswaDropdown = kadoel_halamanPengaturan.getRange("B4").getValue();
- var kadoel_absenDropdown = kadoel_halamanPengaturan.getRange("B6").getValue();
- var kadoel_jenisPertanyaan = kadoel_halamanPengaturan.getRange("B9").getValue();
- var kadoel_urutkanSoalPG = kadoel_halamanPengaturan.getRange("B16").getValue(); //Sudah
- var kadoel_judulForm = kadoel_halamanPengaturan.getRange("B17").getValue(); //Sudah
- var kadoel_pesanKonfirmasi = kadoel_halamanPengaturan.getRange("B18").getValue(); //Sudah
- var kadoel_pesanFormTutup = kadoel_halamanPengaturan.getRange("B19").getValue();//Sudah
- var kadoel_pesanKirimJawaban = kadoel_halamanPengaturan.getRange("B20").getValue();//Sudah
- var kadoel_tokenKuis = kadoel_halamanPengaturan.getRange("B21").getValue();//Sudah
- var kadoel_petunjukKuis = kadoel_halamanPengaturan.getRange("B22").getValue();//Sudah
- //----------------------------------------------------------------------------------------------------------------------------------------
- //-------------- Membuat Form Beserta Section 1 & Pengaturan Form ----------------------------------------------------------------------
- var kadoel_form = FormApp.create(kadoel_mataPelajaran).setTitle(kadoel_judulForm +' - '+ kadoel_mataPelajaran).setIsQuiz(true); //Judul Section 1 dan Set Sebagai Kuis
- if(kadoel_petunjukKuis == "1"){
- 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
- }
- if(kadoel_urutkanSoalPG =="1"){
- kadoel_form.setShuffleQuestions(true); //Acak Urutan Pertanyaan
- }
- else{
- kadoel_form.setShuffleQuestions(false); //Tidak Acak Urutan Pertanyaan
- }
- if(kadoel_tanggapanSiswa == "1"){
- kadoel_form.setLimitOneResponsePerUser(true); // Hanya Menerima 1 Respon / Siswa
- }
- else{
- kadoel_form.setLimitOneResponsePerUser(false); // Boleh Menerima lebih dari 1 Respon / siswa
- }
- //----------------------------------------------------------------------------------------------------------------------------------------
- //------- Menambahkan Item Nama Siswa --------------------------------------------------------------------------------------------------
- kadoel_form.addSectionHeaderItem();
- if(kadoel_siswaDropdown == "1"){
- //Buat Dropdown Nama Siswa
- var kadoel_sheetSiswa = SpreadsheetApp.getActive().getSheetByName('Siswa');
- var kadoel_pilihanSiswa = kadoel_sheetSiswa.getRange(2, 1, kadoel_sheetSiswa.getMaxRows()-1).getValues();
- var kadoel_dropdownSiswa = kadoel_form.addListItem().setTitle('Siswa').setRequired(true);
- var namaSiswa = [];
- for(var indexSiswa = 0; indexSiswa < kadoel_pilihanSiswa.length; indexSiswa++){
- if(kadoel_pilihanSiswa[indexSiswa][0] != "")
- namaSiswa[indexSiswa] = kadoel_pilihanSiswa[indexSiswa][0];
- }
- kadoel_dropdownSiswa.setChoiceValues(namaSiswa);
- }
- else{
- //Buat Kolom Input Nama Siswa
- var kadoel_nama = kadoel_form.addTextItem().setTitle('Nama').setRequired(true);
- var validasiNama = FormApp.createTextValidation()
- .setHelpText('Penulisan Nama Harus Menggunakan Huruf Besar Semua')
- .requireTextMatchesPattern('[A-Z\\s]+')
- .build();
- kadoel_nama.setValidation(validasiNama);
- }
- //----------------------------------------------------------------------------------------------------------------------------------------
- //------- Menambahkan Item No Absen --------------------------------------------------------------------------------------------------
- kadoel_form.addSectionHeaderItem();
- if(kadoel_absenDropdown == "1"){
- var kadoel_maxAbsen = kadoel_halamanPengaturan.getRange("B8").getValue();
- 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);
- }
- else{
- var kadoel_absen = kadoel_form.addTextItem().setTitle('No. Absen').setRequired(true);
- var validasiAbsen = FormApp.createTextValidation()
- .setHelpText('Inputkan Angka Antara 1 - 40')
- .requireTextMatchesPattern('^([1-9]|[1][0-9]|[2][0-9]|[3][0-9]|[4][0])$')
- .build();
- kadoel_absen.setValidation(validasiAbsen);
- }
- //----------------------------------------------------------------------------------------------------------------------------------------
- //------- Menambahkan Dropdown Kelas --------------------------------------------------------------------------------------------------
- var kadoel_sheetKelas = SpreadsheetApp.getActive().getSheetByName('Kelas');
- var kadoel_pilihanKelas = kadoel_sheetKelas.getRange(2,1, kadoel_sheetKelas.getMaxRows()-1).getValues();
- kadoel_form.addSectionHeaderItem();
- var kadoel_kelas = kadoel_form.addListItem();
- kadoel_kelas.setTitle('Kelas');
- kadoel_kelas.setRequired(true);
- var namaKelas = [];
- for(var i = 0; i < kadoel_pilihanKelas.length; i++){
- if(kadoel_pilihanKelas[i][0] != "")
- namaKelas[i] = kadoel_pilihanKelas[i][0];
- }
- kadoel_kelas.setChoiceValues(namaKelas);
- //----------------------------------------------------------------------------------------------------------------------------------------
- //------- Menambahkan Item Token --------------------------------------------------------------------------------------------------
- if(kadoel_tokenKuis !=""){
- //Buat Kolom Input Token
- kadoel_form.addSectionHeaderItem();
- var kadoel_token = kadoel_form.addTextItem().setTitle('Token').setRequired(true);
- var validasiToken = FormApp.createTextValidation()
- .setHelpText('Maaf, Token Salah')
- .requireTextMatchesPattern('^'+kadoel_tokenKuis+'$')
- .build();
- kadoel_token.setValidation(validasiToken);
- }
- //----------------------------------------------------------------------------------------------------------------------------------------
- //--------- Membuat Section 2 Beserta Judul dan Deskripsi -------------------------------------------------------------------------------
- var kadoel_bagian2 = kadoel_form.addPageBreakItem();
- if(kadoel_jenisPertanyaan == "1"){
- kadoel_bagian2.setTitle("Soal Pilihan Ganda")
- .setHelpText('Pilihlah Jawaban Yang Menurut Anda Benar');
- }
- else if(kadoel_jenisPertanyaan == "2"){
- kadoel_bagian2.setTitle("Soal Isian Singkat")
- .setHelpText('Jawablah Pertanyaan Ini Dengan Jawaban Singkat');
- }
- else if(kadoel_jenisPertanyaan == "3"){
- kadoel_bagian2.setTitle("Soal Essay")
- .setHelpText('Jawablah Pertanyaan Ini Dengan Jelas');
- }
- else if(kadoel_jenisPertanyaan == "4"){
- kadoel_bagian2.setTitle("Soal Pilihan Ganda & Isian Singkat")
- .setHelpText('Silahkan Dijawab Pertanyaan Di Bawah Ini');
- }
- else if(kadoel_jenisPertanyaan == "5"){
- kadoel_bagian2.setTitle("Soal Pilihan Ganda & Essay")
- .setHelpText('Silahkan Dijawab Pertanyaan Di Bawah Ini');
- }
- else if(kadoel_jenisPertanyaan == "6"){
- kadoel_bagian2.setTitle("Soal Isian Singkat & Essay")
- .setHelpText('Silahkan Dijawab Pertanyaan Di Bawah Ini');
- }
- else if(kadoel_jenisPertanyaan == "7"){
- kadoel_bagian2.setTitle("Soal Pilihan Ganda & Isian Singkat & Essay")
- .setHelpText('Silahkan Dijawab Pertanyaan Di Bawah Ini');
- }
- else{
- kadoel_bagian2.setTitle("Anda Belum Menentukan Jenis Pertanyaan")
- .setHelpText('Silahkan Tentukan Jenis Pertanyaan Di Pengaturan');
- }
- //----------------------------------------------------------------------------------------------------------------------------------------
- //--------- Import Soal Pilihan Ganda -------------------------------------------------------------------------------
- if(kadoel_jenisPertanyaan == "1" || kadoel_jenisPertanyaan == "4" || kadoel_jenisPertanyaan == "5" || kadoel_jenisPertanyaan == "7"){
- var kadoel_pilihanGanda = SpreadsheetApp.getActive().getSheetByName('Pilihan Ganda');
- 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();
- var kadoel_requiredPG = kadoel_pilihanGanda.getRange(1,8,kadoel_jumlahBarisPG,1).getValues();
- //Menambahkan Soal Pilihan Ganda, Pilihan Jawaban, Jawaban Benar, Point, Required
- for(var i=2;i<kadoel_jumlahBarisPG;i++){
- var kadoel_soalPG = kadoel_form.addMultipleChoiceItem();
- if(kadoel_requiredPG[i][0] == "1"){
- 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])
- ]);
- }
- }
- //----------------------------------------------------------------------------------------------------------------------------------------
- //--------- Import Soal Isian -------------------------------------------------------------------------------
- if(kadoel_jenisPertanyaan == "2" || kadoel_jenisPertanyaan == "4" || kadoel_jenisPertanyaan == "6" || kadoel_jenisPertanyaan == "7"){
- var kadoel_isianSingkat = SpreadsheetApp.getActive().getSheetByName('Isian Singkat');
- var kadoel_jumlahBarisIsian = kadoel_isianSingkat.getDataRange().getNumRows();
- var kadoel_pertanyaanIsian = kadoel_isianSingkat.getRange(1,1,kadoel_jumlahBarisIsian,1).getValues();
- var kadoel_requiredIsian = kadoel_isianSingkat.getRange(1,2,kadoel_jumlahBarisIsian,1).getValues();
- for(var indexIsian = 2; indexIsian < kadoel_jumlahBarisIsian; indexIsian++){
- kadoel_form.addSectionHeaderItem();
- var kadoel_soalIsian = kadoel_form.addTextItem().setTitle(kadoel_pertanyaanIsian[indexIsian][0]);
- if(kadoel_requiredIsian[indexIsian][0] == "1"){
- kadoel_soalIsian.setRequired(true);
- }
- }
- }
- //----------------------------------------------------------------------------------------------------------------------------------------
- //--------- Import Soal Essay -------------------------------------------------------------------------------
- if(kadoel_jenisPertanyaan == "3" || kadoel_jenisPertanyaan == "5" || kadoel_jenisPertanyaan == "6" || kadoel_jenisPertanyaan == "7"){
- var kadoel_essay = SpreadsheetApp.getActive().getSheetByName('Essay');
- var kadoel_jumlahBarisEssay = kadoel_essay.getDataRange().getNumRows();
- var kadoel_pertanyaanEssay = kadoel_essay.getRange(1,1,kadoel_jumlahBarisEssay,1).getValues();
- var kadoel_requiredEssay = kadoel_essay.getRange(1,2,kadoel_jumlahBarisEssay,1).getValues();
- for(var indexEssay = 2; indexEssay < kadoel_jumlahBarisEssay; indexEssay++){
- kadoel_form.addSectionHeaderItem();
- var kadoel_soalEssay = kadoel_form.addParagraphTextItem().setTitle(kadoel_pertanyaanEssay[indexEssay][0]);
- if(kadoel_requiredEssay[indexEssay][0] == "1"){
- kadoel_soalEssay.setRequired(true);
- }
- }
- }
- //----------------------------------------------------------------------------------------------------------------------------------------
- //--------- Menampilkan Pesan Di Akhir Soal -------------------------------------------------------------------------------
- if(kadoel_pesanKirimJawaban !=""){
- kadoel_form.addSectionHeaderItem().setTitle(kadoel_pesanKirimJawaban);
- }
- //----------------------------------------------------------------------------------------------------------------------------------------
- }
Add Comment
Please, Sign In to add comment