Pendahuluan

Suatu hari, saya menerima email dari seseorang yang bertanya, "Bagaimana cara agar aplikasi Excel yang kita buat tidak diacak-acak oleh orang yang tidak bertanggung jawab?"
Microsoft Excel sering digunakan sebagai platform untuk membuat aplikasi berbasis spreadsheet, baik untuk keperluan bisnis, akademik, maupun administrasi. Namun, tanpa langkah-langkah keamanan yang tepat, data dan kode dalam aplikasi Excel dapat dengan mudah diakses atau dimodifikasi oleh pengguna yang tidak berwenang. Berikut adalah beberapa cara yang dapat dilakukan oleh seorang programmer berbasis Ms Excel untuk mengamankan aplikasinya
1. Proteksi Sheet dengan Password
Excel menyediakan fitur proteksi lembar kerja (sheet) dengan password. Dengan cara ini, pengguna tidak dapat mengedit atau menghapus konten tanpa memasukkan kata sandi.
- Caranya: Review → Protect Sheet
- Pilih opsi yang ingin dibatasi, seperti mengizinkan hanya pembacaan atau pengisian sel tertentu..

2. Menyembunyikan Kolom Tertentu
Beberapa kolom yang berisi data sensitif atau perhitungan penting dapat disembunyikan agar tidak mudah diakses.
Caranya: Pilih kolom → Klik kanan → Hide
Untuk mencegah pengguna menampilkan kembali kolom yang disembunyikan, proteksi sheet dapat diaktifkan
.
3. Menyembunyikan Sheet Tertentu
Untuk menjaga keamanan data dan rumus, programmer dapat menyembunyikan sheet tertentu dari tampilan pengguna.
Caranya: Klik kanan pada tab sheet → Hide
Untuk mengembalikannya: View → Unhide (dapat diproteksi dengan password agar tidak bisa di-unhide sembarangan).
Alternatif lain melalui Visual Basic Editor (VBE):
Buka VBE dengan menekan Alt + F11.
Pilih sheet yang ingin disembunyikan pada Project Explorer.
Pada bagian Properties Window, ubah Visible menjadi
2 - xlSheetVeryHidden
4. Menyembunyikan Semua Sheet
Jika ingin membatasi akses hanya pada satu sheet utama, semua sheet lainnya dapat disembunyikan.
Cara lebih lanjut bisa dilakukan dengan VBA:
Sub HideAllSheets() Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets If ws.Name <> "Sheet1" Then ws.Visible = xlVeryHidden Next ws End Sub

Dengan xlVeryHidden
, sheet tidak bisa di-unhide secara manual dari menu Excel.
Alternatif lain, gunakan pengaturan di Excel:
File → Options → Advanced
Pada bagian Display options for this workbook, hilangkan centang pada Show sheet tabs.
5. Menyembunyikan Tab Sheet
Tab sheet di bagian bawah dapat disembunyikan sepenuhnya.

6. Memberi Nama Sheet dengan Karakter yang Mirip
Trik sederhana namun efektif adalah memberi nama sheet dengan karakter yang menyerupai angka atau huruf lain, seperti "Sales" menjadi "Sɑles" (menggunakan karakter khusus). Selain itu, nama sheet juga dapat dibuat dengan menambahkan satu atau lebih spasi di akhir atau awal nama sheet, seperti "Data ", " Data", atau " Data " (pakai spasi setelah huruf a). Cara ini dapat membingungkan pengguna yang mencoba mengakses sheet secara manual.

7. Menyembunyikan Menu Standar
Agar pengguna tidak bisa mengakses opsi seperti menyimpan atau mengedit struktur file, menu standar Excel dapat disembunyikan.
Menggunakan VBA:
Sub HideRibbon() Application.ExecuteExcel4Macro "SHOW.TOOLBAR(\"Ribbon\", FALSE)" End Sub

- Untuk menampilkan kembali:
Sub ShowRibbon() Application.ExecuteExcel4Macro "SHOW.TOOLBAR(\"Ribbon\", TRUE)" End Sub
8. Membuat Menu Ribbon Sendiri
Programmer dapat mengganti menu standar dengan Ribbon kustom yang hanya berisi tombol yang diperlukan.
Bisa dilakukan melalui XML atau menggunakan add-in seperti Office RibbonX Editor.

9. Menggunakan Rumus Aktivasi / Kode Registrasi
Jika aplikasi Excel digunakan secara luas, programmer dapat menerapkan sistem aktivasi menggunakan kode registrasi yang dibuat berdasarkan ID perangkat pengguna.
Contoh sederhana dengan VBA:
Function GenerateKey() GenerateKey = Environ("UserName") & "-" & Application.WorksheetFunction.RandBetween(1000, 9999) End Function
10. Proteksi Kode VBA
Kode VBA bisa dilindungi agar tidak bisa diedit atau dilihat oleh pengguna lain.
Caranya: Alt + F11 → Tools → VBAProject Properties → Protection
Centang "Lock project for viewing" dan masukkan password.

11. Membuat Tampilan Full Screen (Dictator Application)
Agar pengguna hanya bisa berinteraksi dengan aplikasi tanpa gangguan menu Excel lainnya, mode layar penuh dapat diaktifkan.
VBA untuk mode full screen:
Sub FullScreenMode() Application.DisplayFullScreen = True Application.CommandBars("Worksheet Menu Bar").Enabled = False End Sub
Untuk mengembalikan:
Sub NormalMode() Application.DisplayFullScreen = False Application.CommandBars("Worksheet Menu Bar").Enabled = True End Sub
12. Membatasi Akses dengan User Level
Programmer dapat membatasi akses berdasarkan pengguna tertentu.
Contoh VBA:
Private Sub Workbook_Open() If Environ("UserName") <> "Admin" Then MsgBox "Anda tidak memiliki izin untuk mengakses file ini.", vbCritical, "Akses Ditolak" ThisWorkbook.Close False End If End Sub
13. Menyembunyikan Workbook dari Tampilan
Workbook dapat disembunyikan sepenuhnya agar tidak bisa diakses langsung.
VBA:
Sub HideWorkbook() ThisWorkbook.Windows(1).Visible = False End Sub
14. Menggunakan Digital Signature untuk VBA
Dengan menandatangani proyek VBA menggunakan sertifikat digital, kode dapat dipastikan tidak dimodifikasi.
Caranya: Alt + F11 → Tools → Digital Signature.
15. Membatasi Akses dengan Waktu (Trial Version)
Programmer dapat menerapkan batas waktu penggunaan aplikasi.
Contoh VBA:
Private Sub Workbook_Open() If Date > DateValue("2025-12-31") Then MsgBox "Masa berlaku aplikasi telah habis.", vbCritical, "Lisensi Kadaluarsa" ThisWorkbook.Close False End If End Sub
Kesimpulan
Dengan kombinasi metode di atas, seorang programmer dapat meningkatkan keamanan aplikasi berbasis Ms Excel.
Tapi, ngomong-ngomong... Bagaimana cara mengakali cara-cara yang sudah disebutkan di atas, supaya kalau kita dapat aplikasi Excel orang lain, kita bisa menembusnya? Hehe.
0 komentar:
Posting Komentar