Membuat File CSV Menggunakan PHP

Kali ini kita sedikit belajar bagaimana membuat suatu file CSV (Comma Separated Values) menggunakan PHP.  CSV sangat berguna sebagai tool untuk transfer data. Berikut ini adalah contoh sangat sederhananya:

header(“Content-type: text/csv”);
header(“Content-Disposition: attachment; filename=file.csv”);
header(“Pragma: no-cache”);
header(“Expires: 0”);

$data = array(
array(“data”, “data”, “data”),
array(“data”, “data”, “data”),
array(“data”, “data”, “data”)
);

$file = fopen(‘php://output’, ‘w’);
fputcsv($file, array(‘label1’, ‘label2’, ‘label3’));

while ($data as $row) {
fputcsv($file, $row);
}

Semoga bermanfaat 🙂

Advertisements

Membuat RESTful API dengan PHP dan MySQLi

Tutorial PHP kali ini mencoba untuk menjelaskan secara mudah cara membangun suatu RESTful API yang mendukung semua operasi CRUD tanpa harus menggunakan suatu framework REST. Adanya framework memudahkan banyak urusan tetapi kurang baik untuk memahami cara kerja konsep dasar dari suatu sistem. Kita dapat mendefinisikan struktur dan mengubahnya sesuai dengan keperluan, termasuk mendefinisikan aturan bagi framework REST API dan kemudahan aksesnya. Adalah tidak wajib untuk menggunakan framework untuk membangun REST API menggunakan PHP. Kita dapat membuat API hanya menggunakan kode PHP inti.

Apa beda tutorial ini dengan sebelumnya yang juga membahas pembangunan RESTful API dengan PHP? Jika sebelumnya komunikasi antara PHP dan MySQL menggunakan PDO, maka kali ini hanya menggunakan mysqli. Perlu diingat kembali bahwa PHP menyediakan dua cara mengakses MySQL, yaitu berorientasi obyek (PDO) dan prosedural (mysqli). Bagaimana dengan mysql? Sudah tidak boleh digunakan!

Penasaran? Klik Download dan lanjutkan…

Setup dan Reset Password Root MySQL pada Linux Ubuntu 18.04 Bionic Beaver

Tutorial ini bertujuan untuk memperlihatkan cara mensetup dari awal atau mereset password bagi pengguga root dari server basis data MySQL versi 5.7 yang berjalan pada Linux Ubuntu 18.04 (Bionic Beaver). Sebagaimana diketahui, mulai Ubuntu 18.04, instalasi MySQL dan MariaDB server tidak dituntaskan oleh installer mysql-server (via apt install mysql-server) dengan penentuan password root. Kita harus melakukannya secara manual menggunakan perintah mysql_secure_installation. Namun, pada beberapa kasus (termasuk di Elementary 5 dan Ubuntu 18.04.2 yang saya gunakan), pendekatan ini tidak berhasil.

Selain untuk membuat password baru bagi pengguna root (karena lupa misalnya), panduan ini juga dapat digunakan untuk menuntaskan Instalasi MyQL Server dan MariaDB tersebut, termasuk pada distribusi Linux berbasis Debian dan Ubuntu seperti Elementary dan Linux Mint.

Silakan download, baca, praktekkan dan semoga masalah terkait instalasi MySQL server dan “lupa” password root tuntas…tas… tas. Aamiin.

Mata Kuliah Sistem Terdistribusi, Apa sih Isinya?

Di Universitas Trunojoyo Madura (UTM), Mata kuliah “pengantar” Sistem Terdistribusi (SisTer) mempunyai kode TIK-604. Artinya disediakan untuk Kita Semester 6. Penekanannya adalah pada teknik atau konsep fundamental untuk mewujudkan suatu sistem terdistribusi yang berfungsi, bermanfaat, dan berkinerja tinggi. Matakuliah SisTer ini hanya mempunyai satu tujuan utama, yaitu Kita (Kita) memperoleh pemahaman mengenai prinsip dan paradigma yang mendasari Sistem Terdistribusi, seperti Komunikasi antar entitas dalam dan antar jaringan, konkurensi (kebersamaan), sinkronisasi (penyelerasan), replikasi dan caching (penggKitaan data dan aplikasi), konsistensi dan toleransi kegagalan. Jadi, Kita harus betul-betul memahami konsep atau cara kerja dari SisTer. Terdengar Abstrak? Tidak juga, beberapa contoh akan memudahkan kita mendiskusikan konsep-konsep klasik dan modern di bidang yang sedang sangat dibutuhkan ini.

Continue reading

Pemrograman Aplikasi Temu-Kembali Informasi

Kali ini, saya mencoba berbagi sedikit pengalaman menulis aplikasi sistem temu-kembali (STKI) alias Information Retrieval (IR). Aplikasi ini sangat sederhana, hanya melalukan indexing, retrieval dan caching dalam penanganan query dari pengguna. Sebagaimana aplikasi IR lainnya, titik berat dari sistem demikian adalah perhitungan kemiripan antara Query Q dengan daftar dokumen di dalam koleksi (Di, i = 1 … n). Agar mudah dipahami, kali ini saya ketengahkan kode program lengkap (namun sederhana) dalam bahasa pemrograman PHP, bahasa yang sudah umum digunakan oleh pengembang aplikasi web, termasuk para pemula.

Silakan klik link-link berikut untuk mendapatkan tutorial dan source codenya:

1. Tutorial pengembangan aplikasi Sistem Temu-Kembali Informasi.

2. Kumpulan semua file dan database yang diperlukan agar aplikasi ini berjalan sesuai dengan Tutorial di atas. Silakan download file stbicode-v1.pdf kemudian ubah ekstensinya menjadi .zip. Ekstrak file tersebut dan siap digunakan. File stbicode-v1.zip berisi:

a. Daftar fungsi (fungsi.php) yang digunakan di dalam Sistem Temu-Kembali Informasi
b. File halaman web utama (index.php) dari aplikasi
c. File PHP untuk membangun koneksi ke server database MySQL (koneksi.php)
d. File backup database (SQL) yang berisi struktur dan isi database yang diperlukan oleh aplikasi STKI ini.

Semoga tulisan ini bermanfaat. Aamiin 🙂

Membangun Layanan Web Hosting Modern

Salam rekan sekalian. Kali ini saya akan coba mengetengahkan mengenai proses pembangunan sistem web hosting modern, yaitu yang melibatkan teknologi virtual hosting. Ada beberapa tool atau server yang digunakan: Bind 9 DNS Server, Apache 2 Web Server, Nginx Web Server dan HA Proxy (Reverse Proxy dan Load Balancer). Penguasaan dengan baik apa yang dibahas dalam tutorial ini merupakan jaminan untuk mampu membangun dan mengelola suatu sistem layanan Web Hosting Modern, meskipun teknologi virtualiasi di dunia web hosting dan pengembangan aplikasi terus bergerak cepat.

Silakan download tutorial tersebut di sini!. Selamat belajar

Pengembangan Aplikasi Web dengan MEAN (1) – Mengelola Database Dokumen dengan MongoDB

MongoDB adalah salah satu database dokumen. Ia juga masuk kategori NoSQL (Not Only SQL). Database jenis ini sedang menjadi tren terutama untuk menyimpan dokumen-dokumen yang tentu saja tidak tepat dalam format Relasional. SQL, sebagaimana hadir pada banyak database, seperti MySQL, SQL Server, Oracle dan PostgreSQL, memerlukan waktu lama untuk menguasainya. MongoDB sangat sederhana dan dapat dipelajari dalam sekejap.

Pada database relasional, data disimpan dalam rangkaian baris dan tabel. MongoDB mempunyai koleksi dan dokumen. Koleksi dapat disamakan dengan tabel, dan dokumen diumpamakan sebagai baris. Meskipun sebetulnya analogi tersebut belum tentu tepat.

Continue reading