java php laravel linux mysql sql bootstrap html css query java php laravel linux mysql sql bootstrap html css query

Wednesday, June 4, 2025

bash pdfseparate mysql query

🔧 Tutorial: Membuat File Bash Otomatis untuk Memisahkan PDF Berdasarkan Data Mahasiswa dari MySQL

Pada tutorial kali ini, kita akan membuat sebuah skrip bash (.sh) yang akan secara otomatis menghasilkan perintah pdfseparate berdasarkan data mahasiswa dari database MySQL. Data ini berisi nama-nama mahasiswa yang akan digunakan untuk menamai file hasil pemisahan PDF, satu halaman per mahasiswa.



📌 Tujuan

  • Mengambil data mahasiswa dari database MySQL.

  • Menggunakan perintah SQL untuk membuat perintah pdfseparate.

  • Menyimpan hasil query ke dalam file bash (.sh) dan mengeksekusinya.


🧱 Struktur Data

Misalkan Anda memiliki tabel tbl_mahasiswa dengan kolom:

  • nama (nama mahasiswa)

  • prodi_id (program studi)

  • tahun_masuk (angkatan masuk)


🛠️ Langkah-Langkah

1. Buat Query SQL yang Menghasilkan Perintah pdfseparate

Gunakan perintah SQL berikut untuk menghasilkan perintah pdfseparate per mahasiswa:

SELECT 
  CONCAT(
    'pdfseparate KARTU_PERPUS_2024.pdf -f ',
    rn, 
    ' -l ', rn, 
    ' "', REPLACE(nama, ' ', '_'), '.pdf', '"'
  ) AS nama
FROM (
  SELECT 
    ROW_NUMBER() OVER (ORDER BY prodi_id, nama) AS rn,
    nama
  FROM tbl_mahasiswa
  WHERE tahun_masuk = 2024 
) AS ordered;

🎯 Penjelasan:

  • ROW_NUMBER() memberikan nomor urut untuk halaman PDF.

  • REPLACE(nama, ' ', '_') mengganti spasi dengan underscore agar nama file valid.

  • Setiap baris menghasilkan perintah pdfseparate untuk 1 halaman PDF berdasarkan urutan mahasiswa.


2. Eksekusi Query Menggunakan MySQL CLI dan Simpan ke File Bash

Jalankan query ini dari terminal dan simpan hasilnya ke file .sh:

mysql -u root -p -D nama_database -B -N -e "SELECT 
  CONCAT(
    'pdfseparate KARTU_PERPUS_2024.pdf -f ',
    rn, 
    ' -l ', rn, 
    ' \"', REPLACE(nama, ' ', '_'), '.pdf', '\"'
  ) AS nama
FROM (
  SELECT 
    ROW_NUMBER() OVER (ORDER BY prodi_id, nama) AS rn,
    nama
  FROM tbl_mahasiswa
  WHERE tahun_masuk = 2024 
) AS ordered;" > pisah_pdf.sh

Penjelasan opsi:

  • -u root: user MySQL

  • -p: minta password

  • -D nama_database: nama database Anda

  • -B -N: format output bersih (tanpa tabel)

  • Output langsung diarahkan ke file pisah_pdf.sh


3. Tambahkan Shebang dan Izin Eksekusi

Tambahkan baris shebang di atas file agar bisa dijalankan sebagai skrip:

sed -i '1i#!/bin/bash' pisah_pdf.sh
chmod +x pisah_pdf.sh

4. Jalankan Skrip untuk Memisahkan PDF

Pastikan Anda punya file KARTU_PERPUS_2024.pdf, lalu jalankan skripnya:

./pisah_pdf.sh




Setelah selesai, Anda akan mendapatkan file PDF hasil pemisahan dengan nama-nama seperti:

Ahmad_Rizki.pdf
Dina_Permata.pdf
Siti_Aisyah.pdf




✅ Tips Tambahan

  • Jika nama mahasiswa mengandung karakter seperti ' atau ", sebaiknya gunakan REGEXP_REPLACE() (MySQL 8+) atau bersihkan dengan REPLACE() beberapa kali untuk keamanan nama file.

  • Anda juga bisa menambahkan log ke setiap baris perintah dengan >> log.txt jika ingin tracking hasil.


🚀 Penutup

Dengan pendekatan ini, Anda bisa mengotomatisasi pemrosesan PDF berdasarkan data mahasiswa dengan cepat dan rapi. Cocok untuk keperluan kampus, sekolah, atau lembaga yang membagikan dokumen personalisasi.



Monday, June 2, 2025

kosa kata bahasa arab

Kosa Kata Bahasa Arab Sehari-hari: Transportasi, Perabotan Rumah, dan Pemandangan Alam

Belajar bahasa Arab akan menjadi lebih menyenangkan jika dimulai dari hal-hal yang dekat dengan kehidupan sehari-hari. Pada artikel kali ini, kita akan mempelajari berbagai kosa kata bahasa Arab yang berkaitan dengan sarana transportasi, perabotan rumah tangga, dan pemandangan alam lengkap dengan terjemahannya dalam bahasa Indonesia. Cocok untuk pemula hingga pelajar tingkat lanjutan!


🚗 Sarana Transportasi dalam Bahasa Arab



Bahasa Arab Latin Arti dalam Bahasa Indonesia
سَيَّارَةٌ sayyārah Mobil
دَرَّاجَةٌ darrājah Sepeda
دَرَّاجَةٌ نَارِيَّةٌ darrājah nāriyyah Sepeda motor
قِطَارٌ qiṭār Kereta api
طَائِرَةٌ ṭā’irah Pesawat
سَفِينَةٌ safīnah Kapal
حَافِلَةٌ ḥāfilah Bus
سَيَّارَةُ أُجْرَةٍ sayyārat ujrah Taksi

🏠 Perabotan Rumah dalam Bahasa Arab



Bahasa Arab Latin Arti dalam Bahasa Indonesia
مَنْزِلٌ manzil Rumah
غُرْفَةُ النَّوْمِ ghurfatu an-nawm Kamar tidur
غُرْفَةُ الجُلُوسِ ghurfatu al-julūs Ruang tamu
مَطْبَخٌ maṭbakh Dapur
حَمَّامٌ ḥammām Kamar mandi
سَرِيرٌ sarīr Tempat tidur / ranjang
كُرْسِيٌّ kursiyy Kursi
خِزَانَةٌ khizānah Lemari
مِصْبَاحٌ miṣbāḥ Lampu
نَافِذَةٌ nāfidhah Jendela
بَابٌ bāb Pintu
تِلْفَازٌ tilfāz Televisi
مَنْضَدَةٌ manḍadah Meja

🌳 Pemandangan Alam dalam Bahasa Arab



Bahasa Arab Latin Arti dalam Bahasa Indonesia
شَجَرَةٌ syajarah Pohon
حَدِيقَةٌ ḥadīqah Taman
جَبَلٌ jabal Gunung
زَهْرَةٌ zahrāh Bunga
سَمَكٌ samak Ikan
شَاطِئُ البَحْرِ syāṭi’ al-baḥr Pantai
نَبَاتٌ nabāt Tanaman
مَزْرَعَةٌ mazra‘ah Sawah / kebun / ladang
مُتَنَوِّعَةٌ mutanawwi‘ah Beragam / bermacam-macam

📚 Tips Belajar Kosa Kata Bahasa Arab

  1. Gunakan kartu bergambar (flashcard) – Cocok untuk menghafal visual.

  2. Tempel label di rumah – Tempel nama-nama Arab pada benda-benda nyata.

  3. Ulangi dalam kalimat – Gunakan kosa kata tersebut dalam kalimat sehari-hari.

  4. Dengarkan audio atau lagu Arab – Untuk pengucapan dan pembiasaan telinga.


Penutup

Menguasai kosa kata dasar adalah langkah penting dalam belajar bahasa Arab. Dengan memahami nama-nama benda sehari-hari seperti alat transportasi, perabotan rumah, dan unsur alam, kamu akan lebih mudah membangun percakapan sederhana dalam bahasa Arab. Selamat belajar!

install squirrel sql 4.8.0 linux mint jdk 17

🐿️ Tutorial Instalasi SQuirreL SQL 4.8.0 di Linux Mint Menggunakan JDK Temurin 17

📌 Apa Itu SQuirreL SQL?

SQuirreL SQL adalah aplikasi GUI berbasis Java yang digunakan untuk menjelajah, menjalankan query, dan mengelola berbagai database melalui JDBC. Cocok untuk developer dan DBA yang sering bekerja lintas database (MySQL, PostgreSQL, Oracle, dll).


📝 Persiapan Instalasi

1. 🔽 Unduh File Installer

Silakan unduh versi terbaru (saat ini: 4.8.0) dari situs resmi:

🔗 https://squirrel-sql.sourceforge.io/

Atau langsung unduh file berikut:

squirrel-sql-4.8.0-standard.jar

Simpan file tersebut di folder ~/Downloads.


2. 🔧 Pastikan JDK Temurin 17 Terpasang

Jika Anda belum menginstalnya, Anda bisa mengikuti tutorial sebelumnya atau gunakan versi portable seperti ini:

Cek apakah java dari Temurin 17 sudah tersedia:

/opt/jdk-17.0.15+6/bin/java -version

Contoh output:

openjdk version "17.0.15" 2024-04-16
OpenJDK Runtime Environment Temurin-17.0.15+6
OpenJDK 64-Bit Server VM Temurin-17.0.15+6

Gantilah path /opt/jdk-17.0.15+6/bin/java sesuai lokasi JDK Temurin 17 Anda.


🚀 Langkah Instalasi SQuirreL SQL

  1. Buka terminal, masuk ke folder tempat file berada:

cd ~/Downloads
  1. Jalankan installer dengan perintah:

/opt/jdk-17.0.15+6/bin/java -jar squirrel-sql-4.8.0-standard.jar

Gunakan path java dari JDK Temurin 17, bukan dari sistem.

  1. Ikuti wizard GUI yang muncul:

  • Pilih lokasi instalasi, misalnya ~/Applications/SQuirreL

  • Pilih komponen seperti Standard plugins, Drivers, dsb

  • Klik Next sampai selesai


📂 Menjalankan SQuirreL SQL

Setelah instalasi selesai, untuk menjalankan aplikasinya:

~/Applications/SQuirreL/squirrel-sql.sh

Jika Anda ingin menjalankannya menggunakan Java Temurin 17 secara eksplisit:

/opt/jdk-17.0.15+6/bin/java -jar ~/Applications/SQuirreL/squirrel-sql.jar

🎯 (Opsional) Membuat Launcher di Desktop/Menu

Anda bisa membuat file .desktop agar SQuirreL bisa diakses dari menu atau desktop:

nano ~/.local/share/applications/squirrel.desktop

Isi dengan:

[Desktop Entry]
Name=SQuirreL SQL
Comment=Universal SQL Client
Exec=/opt/jdk-17.0.15+6/bin/java -jar /home/namapengguna/Applications/SQuirreL/squirrel-sql.jar
Icon=/home/namapengguna/Applications/SQuirreL/icons/acorn.png
Terminal=false
Type=Application
Categories=Development;Database;

Ganti namapengguna dan path sesuai lokasi Anda.




 


✅ Kesimpulan

SQuirreL SQL versi 4.8.0 dapat dengan lancar dijalankan di Linux Mint menggunakan JDK Temurin 17. Metode ini memastikan kompatibilitas dan fleksibilitas, apalagi bila Anda bekerja di lingkungan multi-database.

saifiahmada.com adalah blog belajar programming Indonesia, membahas lengkap materi bahasa pemrograman: code HTML, CSS, Bootstrap, Desain, PHP, MySQL, coding Java, Query, SQL, dan dunia linux