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.

Ams dashboard

Aplikasi ini saya buat menggunakan bahasa pemrograman PHP dan penulisan kodenya menggunakan style prosedural.

Sedangkan databasenya menggunakan MySQLi yang merupakan pengembangan dari MySQL yang sudah tidak lagi di-support oleh pihak pengembang.

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

Fitur-fitur aplikasi

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

  • Membuat dan mencetak disposisi surat masuk
  • Membuat dan mencetak agenda surat masuk dan keluar berdasarkan rentang tanggal tertentu
  • Upload lampiran file surat, baik file gambar (jpg dan png) maupun file dokumen (doc, docx dan pdf)
  • Galeri file lampiran yang telah di-upload 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.6.x atau di atasnya.

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

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

Cara install aplikasi

Berikut tutorial meng-install aplikasi manajemen surat:

  • Silakan download source code aplikasi ini
  • Kemudian ekstrak source code yang telah di download
  • Akan muncul folder bernama ams_native-0.1.0. 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/. Jika tidak ada error, maka akan tampil halaman login aplikasi.

Ams login Halaman login

Gunakan username masrud dan password masrud.com untuk login.

Cara mengganti password

Untuk mengganti password, simak panduan berikut:

  • Silakan login ke dalam aplikasi
  • Klik nama user pada pojok kanan atas
  • Setelah itu pilih Ubah Password
  • Silakan masukkan password lama dan password baru lalu simpan.

Ams ganti password Ganti password

Cara mengganti nama instansi

Berikut langkah-langkah mengganti nama instansi:

  • Silakan login ke dalam aplikasi
  • Kemudian buka menu pengaturan lalu pilih Instansi
  • Silakan isi data instansi serta logo instansi lalu simpan.

Ams 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 ini:

Ams access denied for user root 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:

Ams expect parameter mysqli result boolean mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in

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

Tampilan aplikasi

Berikut beberapa screenshot tampilan aplikasi manajemen surat.

Ams dashboard Dashboard

Ams transaksi surat Transaksi surat

Ams tambah surat Tambah data surat

Ams hapus surat Hapus data surat

Ams agenda surat Daftar agenda surat

Ams cetak agenda surat Cetak agenda surat

Ams disposisi surat Disposisi surat

Ams cetak disposisi surat Cetak disposisi surat

Ams tambah disposisi surat Tambah disposisi surat

Ams kode klasifikasi surat Kode klasifikasi surat

Ams manajemen user Manajemen user

Ams galeri file lampiran surat Galeri file lampiran surat

Ams detail file surat Detail file surat

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

Informasi update aplikasi

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

Berikut beberapa perbedaan antara kedua versi aplikasi ini:

Versi terbaruVersi lama
Data surat masukData surat masuk
Autocomplete kode & asal surat masukAutocomplete kode surat masuk
Detail surat masuk-
Download lampiran file surat masuk-
Disposisi suratDisposisi surat
Autocomplete tujuan disposisi-
Detail disposisi-
Data surat keluarData surat keluar
Autocomplete kode & tujuan surat keluarAutocomplete kode surat keluar
Detail surat keluar-
Download lampiran file surat keluar-
Data surat cuti (tambah, detail, edit, hapus, cetak)-
Agenda surat masukAgenda surat masuk
Agenda surat keluarAgenda 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 suratKode surat
Data pegawai (tambah, detail, edit, hapus, impor)-
Data userData user
Pengaturan profil instansiPengaturan profil instansi
Backup databaseBackup database
Restore databaseRestore database
Profil userProfil user
Detail profil user-
Ganti passwordGanti password
Tampilan lebih bersih dan rapih-
Lebih mudah digunakan & responsif-
InsyaAllah bebas errorTerdapat error & bugs
Kode lebih sedikit, lebih rapih, terstruktur & efektifKode lebih banyak, tidak terstruktur & tidak efektif
File & folder lebih terstruktur & rapihFile & folder tidak terstruktur
Menggunakan datatables server side rendering-
Password hashing dengan BCRYPTEnkripsi password dengan MD5
MySQLi query dengan prepared statementMySQLi query standar
Koneksi database dengan PDOKoneksi database MySQLi standar

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

Dapatkan aplikasi versi terbaru hanya dengan 150 ribu 60 ribu saja. Promo berlaku hingga 15 Oktober 2024.

Buruan order sekarang sebelum harga naik!

Untuk info lebih lanjut, silakan hubungi saya .

Download aplikasi