MasRud.com
Aplikasi manajemen arsip surat menyurat PHP MySQLi

Aplikasi manajemen arsip surat menyurat PHP MySQLi

Halo, pada posting kali ini saya akan membagikan source code aplikasi sederhana untuk mengelola surat masuk dan surat keluar berbasis web (PHP dan MySQLi).

Aplikasi ini saya buat menggunakan bahasa pemrograman PHP dan penulisan kodenya menggunakan style prosedural agar lebih mudah dipelajari oleh pemula.

Sedangkan databasenya menggunakan MySQLi yang merupakan pengembangan dari MySQL yang sudah tidak lagi disupport oleh pihak pengembang (deprecated).

Materializecss saya pilih sebagai framework untuk membuat tampilan aplikasi karena menghasilkan tampilan yang keren ala Google yaitu material design.

Baca juga Source code toko online CodeIgniter

Fitur-fitur aplikasi

Aplikasi manajemen surat menyurat ini memiliki beberapa fitur, antara lain:

  • Membuat dan mencetak disposisi surat masuk.
  • Membuat dan mencetak buku agenda surat masuk dan keluar berdasarkan rentang tanggal tertentu.
  • Upload lampiran file surat, baik file scan/gambar(JPG dan PNG) maupun file dokumen (DOC, DOCX dan PDF).
  • Galeri file lampiran yang telah diupload ke dalam aplikasi.
  • Upload kode klasifikasi surat (file excel berformat CSV).
  • Fitur pencarian data surat masuk dan surat keluar.
  • Data dan logo instansi yang dapat diganti dengan mudah.
  • Multi user (administrator dan petugas disposisi).
  • Edit profil dan password user.
  • Backup dan restore database.

Kebutuhan sistem

Untuk menjalankan aplikasi ini, Anda harus memiliki sebuah web server yang mendukung PHP dengan versi minimal PHP 5.5.x atau di atasnya.

Bagi pengguna OS Windows bisa menggunakan XAMPP minimal versi 3.2.1 atau yang lebih baru.

Sedangkan bagi Ubuntu/Linux Mint user, Anda bisa menggunakan LAMPP stack. Silakan baca tutorial Cara install Apache, MySQL dan PHP pada Ubuntu/Linux Mint.

Cara install dan konfigurasi

Berikut tata cara menginstall dan mengkonfigurasi aplikasi manajemen surat:

  • Silakan download source code aplikasi ini.
  • Kemudian ekstrak source code yang telah di download.
  • Akan muncul folder bernama ams_native-1.0.2. Ganti nama folder tersebut menjadi menjadi ams.
  • Jika sudah copy folder ams dan paste ke dalam folder htdocs.
  • Buka folder include lalu edit file config.php.
  • Atur $host, $username, $password dan $database sesuai dengan yang Anda gunakan.

    <?php
    $host     = "localhost";    // Nama host
    $username = "root";         // Username database
    $password = "masrud.com";   // Password database
    $database = "ams_native";   // Nama database
  • Tahap berikutnya, buka phpMyadmin lalu buat database baru bernama ams_native.
  • Kemudian impor database ams_native.sql yang ada pada folder database.
  • Selesai.

Untuk menjalankan aplikasi ini, silakan buka browser lalu ketikkan http://localhost/ams/ pada address bar. Jika tidak ada error, maka akan tampil halaman login aplikasi. Gunakan username masrud serta password masrud.com untuk login.

Halaman login

Halaman login

Cara mengganti password

Untuk mengganti password, simak panduan berikut:

  • Klik nama user yang sedang login (pojok kanan atas).
  • Setelah itu pilih Ubah Password.
  • Akan terbuka halaman ganti password.
  • Silakan masukkan password lama untuk mengkonfirmasi password dan juga password baru lalu simpan.

Ganti password

Ganti password

Cara mengganti nama instansi

Berikut langkah-langkah mengganti nama instansi:

  • Silakan login ke aplikasi.
  • Kemudian buka menu pengaturan lalu pilih Instansi.
  • Lalu isi data yang diperlukan beserta logo instansi yang bersangkutan.

Pengaturan instansi

Pengaturan instansi

Berbagai error dan solusinya

Berikut adalah berbagai error yang terjadi karena salah konfigurasi aplikasi.

1. Access denied for user 'root'@'localhost'

Apabila Anda menjumpai error seperti pada gambar berikut:

Access denied for user 'root'@'localhost'

Itu artinya user root yang Anda gunakan tidak menggunakan password, sedangkan pada konfigurasi database Anda menggunakan password. Solusinya kosongkan password pada config.php.

2. mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in

Jika Anda menemui error seperti ini:

mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in'

Itu artinya Anda belum mengimpor database bawaan aplikasi manajemen surat ini. Solusinya impor database bawaan yang sudah saya sertakan dalam folder database.

Tampilan aplikasi

Berikut beberapa screenshoot tampilan aplikasi manajemen surat.

Dashboard

Dashboard

Transaksi surat

Transaksi surat

Tambah data surat

Tambah data surat

Hapus data surat

Hapus data surat

Daftar agenda surat

Daftar agenda surat

Cetak agenda surat

Cetak agenda surat

Disposisi surat

Disposisi surat

Cetak disposisi surat

Cetak disposisi surat

Tambah disposisi surat

Tambah disposisi surat

Kode klasifikasi surat

Kode klasifikasi surat

Manajemen user

Manajemen user

Galeri file lampiran surat

Galeri file lampiran surat

Detail file surat

Detail file surat

Aplikasi ini masih banyak kekurangan dan perlu penyempurnaan serta pengembangan. Meskipun demikian aplikasi ini sudah dapat digunakan untuk mendata, membuat disposisi surat serta mengarsipkan surat masuk dan surat keluar.

Update 20 Januari 2021

Aplikasi manajemen surat sekarang ada dua versi, versi terbaru (berbayar) dan lama (gratis).

Berikut beberapa perbedaan antara kedua versi aplikasi ini:

Versi terbaru Versi lama
Data surat masuk Data surat masuk
Autocomplete kode & asal surat masuk Autocomplete kode surat masuk
Detail surat masuk -
Download lampiran file surat masuk -
Disposisi surat Disposisi surat
Autocomplete tujuan disposisi -
Detail disposisi -
Data surat keluar Data surat keluar
Autocomplete kode & tujuan surat keluar Autocomplete kode surat keluar
Detail surat keluar -
Download lampiran file surat keluar -
Data surat cuti (tambah, detail, edit, hapus, cetak) -
Agenda surat masuk Agenda surat masuk
Agenda surat keluar Agenda surat keluar
Agenda surat cuti -
Galeri file surat masuk (ajax infinite scroll) Galeri file surat masuk
- Filter file lampiran surat masuk
Galeri file surat keluar (ajax infinite scroll) Galeri file surat keluar
- Filter file lampiran surat keluar
Kode surat Kode surat
Data pegawai (tambah, detail, edit, hapus, impor) -
Data user Data user
Pengaturan profil instansi Pengaturan profil instansi
Backup database Backup database
Restore database Restore database
Profil user Profil user
Detail profil user -
Ganti password Ganti password
--- ---
Tampilan lebih bersih dan rapih -
Lebih mudah digunakan & responsif -
InsyaAllah bebas error Terdapat error & bugs
--- ---
Kode lebih sedikit, lebih rapih, terstruktur & efektif Kode lebih banyak, tidak terstruktur & tidak efektif
File & folder lebih terstruktur & rapih File & folder tidak terstruktur
Menggunakan datatables server side rendering -
Password hashing dengan BCRYPT Enkripsi password dengan MD5
MySQLi query dengan prepared statement MySQLi query standar
Koneksi database dengan PDO Koneksi database MySQLi standar

Demo aplikasi versi terbaru (username: masrud / password: masrud.com)

Dapatkan versi terbaru hanya dengan 160 ribu saja dari harga awal launching 500 ribu (promo berlaku hingga 30 September 2021).

Dapatkan sekarang juga sebelum harga berubah. 😉

Untuk pemesanan, silakan hubungi saya melalui menu kontak.

Download aplikasi (versi gratis) — lihat source code di Github