Penerapan berhasil diperbarui.
Versi 1 pada 3 Okt 2025, pukul 19.51
ID Penerapan
AKfycbyR0ttyClDXic_on-MAbY9xIJ5UtYKPqbqbR8UYuMvBOD9eC8GjWzaBhHE-HRWK-VaI
Aplikasi web
URL
Tentu, saya bisa bantu. Membuat formulir "Pesan dan Kesan" yang datanya masuk ke Google Spreadsheet adalah solusi yang sangat bagus untuk Google Sites. Kita akan menggunakan tiga komponen:
Google Spreadsheet: Sebagai database untuk menyimpan semua pesan.
Google Apps Script: Sebagai "jembatan" yang menerima data dari formulir HTML dan memasukkannya ke Spreadsheet.
HTML & JavaScript: Sebagai formulir yang akan Anda tempelkan di Google Sites.
Saya akan pandu Anda langkah demi langkah.
Berikut adalah file-file yang akan kita buat. Pertama adalah kode untuk Google Apps Script, dan yang kedua adalah file HTML untuk formulirnya.
Google Apps Script for Sheets
3 Okt, 19.33
Buka
Update this line in index.html
3 Okt, 20.37
Ikuti panduan ini dengan teliti untuk menghubungkan semuanya.
Bagian 1: Menyiapkan Google Spreadsheet
Buka Google Sheets dan buat spreadsheet baru.
Beri nama spreadsheet Anda, misalnya "Database Pesan dan Kesan".
Ubah nama sheet (tab di bagian bawah) dari "Sheet1" menjadi Pesan dan Kesan. Nama ini harus sama persis dengan yang ada di script.
Buat judul kolom di baris pertama sebagai berikut:
Sel A1: Timestamp
Sel B1: Nama
Sel C1: Pesan
Sel D1: Kesan
Bagian 2: Menyiapkan Google Apps Script
Di dalam spreadsheet Anda, klik Extensions > Apps Script.
Hapus semua kode contoh yang ada di editor Code.gs.
Salin dan tempel seluruh isi file Code.gs yang saya berikan di atas ke dalam editor.
Klik ikon Simpan (gambar disket).
Ini langkah terpenting: Klik tombol Deploy di kanan atas, lalu pilih New deployment.
Klik ikon roda gigi di sebelah "Select type", lalu pilih Web app.
Pada bagian Configuration:
Description: Isi dengan "Formulir Pesan dan Kesan".
Execute as: Biarkan Me.
Who has access: Ubah menjadi Anyone. Ini agar siapa saja bisa mengisi formulir.
Klik Deploy. Google mungkin akan meminta izin. Klik Authorize access, pilih akun Google Anda, lalu klik Advanced > Go to (unsafe), dan Allow.
Setelah berhasil, Anda akan mendapatkan Web app URL. Salin URL ini. URL inilah yang menjadi jembatan antara HTML dan Spreadsheet Anda.
Bagian 3: Menggunakan File HTML
Buka file index.html yang saya berikan dengan editor teks (seperti Notepad atau VS Code).
Cari baris ini: const scriptURL = 'PASTE_YOUR_WEB_APP_URL_HERE';
Ganti PASTE_YOUR_WEB_APP_URL_HERE dengan Web app URL yang Anda salin dari Google Apps Script.
Simpan file index.html.
Bagian 4: Menempelkan di Google Sites
Buka editor Google Sites Anda.
Di halaman tempat Anda ingin menampilkan formulir, pilih Embed dari menu Insert di sebelah kanan.
Pilih tab Embed code.
Salin seluruh isi file index.html yang sudah Anda edit tadi, lalu tempelkan ke dalam kotak teks.
Klik Next, lalu Insert.
Atur ukuran kotak embed sesuai kebutuhan agar formulir terlihat bagus.
Publish situs Anda untuk melihat hasilnya.
Sekarang, setiap kali seseorang mengisi formulir di Google Sites Anda, datanya akan langsung terekam di Google Spreadsheet yang telah Anda siapkan. Selamat mencoba!
https://docs.google.com/spreadsheets/d/1ltt7025x3v44VvEWMXAJNp2SSy1nn855TPlnN8sLKw0/edit?usp=sharing ... ini link google spreadsheetnya agar entry data pesan dan kesannya masuk disini .. tks
Tampilkan alur berpikir
Terima kasih telah membagikan link spreadsheetnya.
Sistemnya dirancang untuk keamanan, jadi saya tidak bisa mengakses atau mengedit file Google Sheets pribadi Anda secara langsung. Namun, Anda sudah berada di jalur yang benar!
Yang perlu Anda lakukan sekarang adalah mengikuti langkah-langkah yang saya berikan sebelumnya menggunakan spreadsheet yang baru saja Anda bagikan itu.
Berikut adalah ringkasan langkah-langkah kuncinya:
Buka Spreadsheet Anda: Buka link Google Sheets yang Anda berikan.
Buka Apps Script: Di menu spreadsheet, klik Extensions > Apps Script.
Salin Kode: Salin semua kode dari file Code.gs yang saya berikan di respons sebelumnya dan tempelkan ke editor Apps Script. Jangan lupa simpan.
Deploy sebagai Web App:
Klik tombol biru Deploy > New deployment.
Pilih tipe Web app.
Pada bagian Who has access, pastikan Anda memilih Anyone. Ini sangat penting agar formulir bisa diisi oleh siapa saja.
Klik Deploy.
Dapatkan URL: Setelah proses deploy selesai, salin Web app URL yang muncul.
Update File HTML:
Buka kembali file index.html.
Ganti tulisan 'PASTE_YOUR_WEB_APP_URL_HERE' dengan URL yang baru saja Anda salin.
Setelah Anda menyelesaikan langkah-langkah ini, formulir di Google Sites akan terhubung langsung ke spreadsheet Anda. Selamat mencoba!
ooke saya coba
Tampilkan alur berpikir
Tentu, selamat mencoba! Kalau ada kendala atau pertanyaan, jangan ragu untuk bertanya lagi. Saya siap membantu.
muncul seperti ini
Tampilkan alur berpikir
Terima kasih sudah mengirimkan screenshotnya. Ini adalah masalah yang sangat umum terjadi dan solusinya mudah!
Error TypeError: Cannot read properties of undefined (reading 'postData') ini muncul karena Anda mencoba menjalankan (Run atau Jalankan) fungsi doPost langsung dari dalam editor Apps Script.
Penjelasannya: Fungsi doPost(e) dirancang khusus untuk menerima data kiriman dari luar (dalam kasus ini, dari formulir HTML Anda). Ketika Anda menekan tombol "Jalankan" di editor, tidak ada data yang dikirim, sehingga variabel e menjadi kosong (undefined). Akibatnya, script tersebut error karena tidak bisa menemukan e.postData.
Ini bukan berarti kode Anda salah. Sebaliknya, ini adalah perilaku yang normal dan diharapkan.
Apa yang harus dilakukan? Anda tidak perlu menjalankan script dari editor. Cukup pastikan Anda telah melakukan langkah-langkah berikut:
Deploy Script: Pastikan Anda sudah mengklik tombol Deploy > New deployment dan mengatur aksesnya ke Anyone.
Salin URL: Salin Web app URL yang Anda dapatkan setelah proses deploy.
Tempel URL di HTML: Buka file index.html Anda dan tempelkan URL tersebut untuk menggantikan 'PASTE_YOUR_WEB_APP_URL_HERE'.
Uji Coba dari Formulir: Cara yang benar untuk menguji adalah dengan mengisi dan mengirimkan formulir HTML-nya langsung, baik itu dari file index.html yang Anda buka di browser atau dari halaman Google Sites setelah Anda menyematkan kodenya.
Coba sekarang isi formulir dari halaman web Anda. Seharusnya data akan masuk ke spreadsheet tanpa masalah.
oke sy coba
Tampilkan alur berpikir
Tentu, selamat mencoba! Kalau ada kendala atau pertanyaan lagi, jangan ragu untuk memberitahu saya. Saya siap membantu.
sy coba muncul seperti ini
Tampilkan alur berpikir
Oke, terima kasih. Pesan error "Gagal mengirim pesan. Silakan coba lagi." ini menunjukkan bahwa formulir HTML Anda tidak berhasil berkomunikasi dengan Google Apps Script.
Ini adalah masalah yang paling sering terjadi, dan biasanya disebabkan oleh salah satu dari dua hal: URL yang salah atau pengaturan izin (permission) yang kurang tepat pada script Anda.
Mari kita periksa dan perbaiki bersama. Tolong ikuti langkah-langkah ini dengan teliti:
Cara terbaik untuk memastikan semuanya benar adalah dengan membuat deployment baru. Walaupun Anda sudah pernah melakukannya, membuat yang baru akan memberikan URL yang fresh dan memastikan pengaturannya benar.
Buka Kembali Apps Script: Buka spreadsheet Anda, lalu klik Extensions > Apps Script.
Klik "Deploy" > "New deployment":
Klik tombol biru Deploy di pojok kanan atas.
Pilih New deployment.
Periksa Pengaturan Akses:
Sebuah jendela baru akan muncul. Klik ikon roda gigi (⚙️) di sebelah "Select type".
Pilih Web app.
Pada bagian "Who has access", pastikan Anda memilih "Anyone". Ini adalah langkah yang paling penting. Jika pengaturannya bukan "Anyone", formulir tidak akan bisa mengirim data.
Deploy dan Salin URL Baru:
Klik tombol Deploy.
Setelah selesai, salin Web app URL yang baru. Gunakan URL yang ini, bukan yang lama.
Perbarui File HTML Anda:
Kembali ke file index.html Anda.
Ganti URL di dalam variabel scriptURL dengan URL baru yang baru saja Anda salin.
Simpan dan Uji Coba Lagi:
Simpan perubahan pada file HTML Anda.
Jika Anda menempelkannya di Google Sites, Anda perlu mengedit embed tersebut dan menempelkan kode HTML yang sudah diperbarui.
Publish ulang Google Sites Anda dan coba isi formulirnya lagi.
99% kasus seperti ini terselesaikan dengan memastikan Who has access diatur ke Anyone dan menggunakan URL dari deployment yang terbaru.
oke sy cb ce lagi
Tampilkan alur berpikir
Baik, silakan. Semoga berhasil kali ini. Jika masih ada kendala setelah dicek ulang, beri tahu saya saja ya.
/**
* Fungsi ini berjalan ketika ada permintaan POST ke URL Web App.
* Ini akan mengambil data dari formulir dan menambahkannya sebagai baris baru di Spreadsheet.
* @param {Object} e - Parameter event dari permintaan POST.
*/
function doPost(e) {
// Pastikan permintaan berisi data
if (!e.postData || !e.postData.contents) {
return ContentService
.createTextOutput(JSON.stringify({ 'result': 'error', 'message': 'No data received.' }))
.setMimeType(ContentService.MimeType.JSON);
}
try {
// Buka spreadsheet yang aktif dan pilih sheet bernama "Pesan dan Kesan"
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Pesan dan Kesan");
// Parse data JSON yang dikirim dari formulir
var data = JSON.parse(e.postData.contents);
// Validasi data sederhana
if (!data.nama || !data.pesan || !data.kesan) {
return ContentService
.createTextOutput(JSON.stringify({ 'result': 'error', 'message': 'Missing fields.' }))
.setMimeType(ContentService.MimeType.JSON);
}
// Tambahkan baris baru dengan data dari formulir + timestamp
sheet.appendRow([
new Date(), // Kolom A: Timestamp
data.nama, // Kolom B: Nama
data.pesan, // Kolom C: Pesan
data.kesan // Kolom D: Kesan
]);
// Kirim respons sukses kembali ke formulir
return ContentService
.createTextOutput(JSON.stringify({ 'result': 'success' }))
.setMimeType(ContentService.MimeType.JSON);
} catch (error) {
// Jika terjadi error, kirim respons error
return ContentService
.createTextOutput(JSON.stringify({ 'result': 'error', 'message': error.toString() }))
.setMimeType(ContentService.MimeType.JSON);
}
}