java php laravel linux mysql sql bootstrap html css query: linux java php laravel linux mysql sql bootstrap html css query: linux
Showing posts with label linux. Show all posts
Showing posts with label linux. Show all posts

Saturday, July 5, 2025

contoh kode kernel linux

🔧 Intip Isi Dapur Linux: Contoh Kode di Kernel Linux

Pernah kepikiran nggak, gimana sih isi "jeroan" Linux? Apa cuma kode-kode ajaib yang susah dipahami? Atau ternyata nggak sehoror itu? 🤔

Nah, di blog kali ini kita bakal ngintip langsung contoh kode yang ada di kernel Linux, biar kamu nggak cuma pakai Linux, tapi juga ngerti "dagingnya" kayak apa!


Pembahasan sebelumnya tentang bahasa pemrograman utama pada sistem operasi linux https://www.saifiahmada.com/2025/07/bahasa-sistem-operasi-linux.html


🧠 Reminder Singkat: Kernel Itu Apa?

Sebelum masuk ke contoh, kita refresh dikit.

Kernel adalah bagian inti dari sistem operasi Linux. Dialah yang jadi "jembatan" antara software dan hardware. Semua hal penting kayak manajemen memori, proses, sistem file, sampai komunikasi antar perangkat dikontrol sama kernel.

Dan yap, kernel Linux ditulis pakai bahasa C (dan sedikit Assembly).


🔍 Yuk Lihat Contoh: Fungsi printk() di Kernel

Kalau di bahasa C biasa kita kenal printf() buat nge-print ke layar, nah di kernel Linux kita punya printk().

📄 Contoh kode:

#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>

MODULE_LICENSE("GPL");
MODULE_AUTHOR("Kamu");
MODULE_DESCRIPTION("Contoh modul kernel Linux sederhana");

static int __init hello_init(void) {
    printk(KERN_INFO "Halo, ini dari kernel!\n");
    return 0;
}

static void __exit hello_exit(void) {
    printk(KERN_INFO "Sampai jumpa dari kernel!\n");
}

module_init(hello_init);
module_exit(hello_exit);

🧩 Penjelasan Sederhana:

  • #include <linux/...> = ini adalah header khusus untuk lingkungan kernel.

  • MODULE_LICENSE, MODULE_AUTHOR, dll = metadata untuk modul.

  • printk() = kayak printf(), tapi buat mencetak log di kernel log (bukan ke layar user).

  • module_init() dan module_exit() = mendefinisikan fungsi saat modul dimuat & dilepas.

⚙️ Outputnya ke mana?

Log dari printk() bisa kamu lihat dengan:

dmesg

🧪 Ini Modul, Bukan Program Biasa

Modul ini bukan program yang kamu jalankan biasa via terminal. Tapi dimuat ke kernel langsung pakai:

sudo insmod hello.ko
sudo rmmod hello

Pastikan kamu sudah build modulnya dengan make, dan punya Makefile yang sesuai.


🎯 Kenapa Ini Penting?

  • Ini cara pertama buat masuk ke dunia kernel development.

  • Kamu bisa belajar bagaimana kernel bekerja di level rendah.

  • Dan siapa tahu... suatu hari kamu bisa jadi kontributor kernel Linux juga 😉


✨ Kesimpulan Santai

Linux bukan cuma sistem operasi gratis, tapi juga salah satu proyek open-source paling kompleks dan keren di dunia. Dan menariknya, kamu bisa lihat bahkan contoh kode pertamanya nggak sesulit itu.

Kalau kamu ngerti C, kamu udah bisa mulai utak-atik dan eksplor kernel Linux.


🚀 Yuk, Coba Sendiri!

Tertarik nyoba modul kernel pertama kamu? Aku bisa bantu buatkan langkah-langkah praktisnya di blog selanjutnya, lengkap dari install tool sampai build .ko (file modul kernel).


bahasa sistem operasi linux

🔍 Bahasa-Bahasa yang Menyusun Sistem Operasi Linux: Siapa Saja Mereka?

Pernah nggak sih kamu bertanya-tanya, "Sebenernya Linux itu ditulis pakai bahasa pemrograman apa, ya?" Nah, buat kamu yang penasaran, yuk kita kulik bareng-bareng!

Linux itu bukan cuma sekadar sistem operasi biasa. Ia adalah karya kolosal yang melibatkan banyak bahasa pemrograman. Tapi tentu saja, ada satu yang jadi pemeran utama, dan lainnya sebagai pemeran pendukung. Yuk kenalan satu-satu!




🎯 Bahasa Utama: C

Yes, si bahasa C adalah tulang punggung dari kernel Linux alias jantung dari sistem operasi Linux.

Kenapa C?

  • Cepat dan efisien

  • Dekat banget sama hardware, tapi masih "manusiawi"

  • Sudah terbukti stabil dan handal sejak zaman dinosaurus komputer 😄

Jadi, hampir semua logika penting dalam kernel, kayak manajemen memori, sistem file, dan pengelolaan proses—itu semua ditulis pakai C.

📝 Fun Fact: Linus Torvalds, si pencipta Linux, juga penggemar berat bahasa C.


🧬 Bahasa Pendukung: Assembly (ASM)

Kalau C adalah tulang punggung, Assembly itu kayak otot-otot kecil yang kerja di balik layar.

Bagian tertentu dalam kernel Linux (misalnya saat proses booting, atau saat CPU harus diajak ngomong langsung) ditulis dalam bahasa Assembly.

Bahasa ini memang agak "galak" dan susah dibaca, tapi super cepat dan super presisi. Jadi ya, cuma dipakai di bagian-bagian yang benar-benar butuh performa tingkat tinggi.


🧩 Bahasa Lain yang Ikut Meramaikan

Nah, Linux itu kan bukan cuma kernel doang. Ada banyak alat, aplikasi, dan antarmuka pengguna di atasnya. Nah, bagian ini ditulis pakai berbagai bahasa lainnya:

🔹 Bash (Shell Script)

Dipakai buat script startup, konfigurasi, dan automasi sistem. Boleh dibilang, ini bahasa yang paling sering dipakai di dunia sysadmin.

🔹 Python

Digunakan di banyak tool modern, installer (kayak Anaconda di Fedora), bahkan package manager juga ada yang pakai Python. Enak buat nulis script yang rapi dan gampang dibaca.

🔹 C++

Biasanya dipakai di desktop environment kayak KDE (Plasma). Kalau kamu pakai Linux dengan tampilan kece, besar kemungkinan itu hasil karya C++.

🔹 Go (Golang)

Beberapa tool modern kayak Docker dan Podman ditulis pakai bahasa Go. Simple, modern, dan cocok buat tool yang butuh performa dan concurrency.

🔹 Rust (Pendatang Baru)

Ini bahasa yang mulai masuk ke kernel Linux juga lho! Dipakai buat nulis modul baru dengan keamanan memori yang lebih baik. Cocok banget buat masa depan Linux yang lebih aman.

🔹 Perl dan JavaScript

Masih ada yang pakai Perl buat tool lama, dan JavaScript kadang muncul di aplikasi GUI berbasis web atau Electron.


🧠 Ringkasan Santai

Peran Bahasa
Inti (Kernel) C dan Assembly
Skrip dan automasi Bash, Python
Tool & Aplikasi modern Go, Rust, C++, JavaScript
Desktop Environment C++ (KDE), C (GNOME)

🎉 Penutup

Jadi, walaupun C adalah raja dalam dunia Linux, dia nggak sendirian. Banyak "teman-teman bahasa" lain yang bantuin Linux jadi sistem operasi yang kaya, fleksibel, dan cocok buat semua kalangan—dari server enterprise sampai laptop kamu.

Keren banget, kan?

Kalau kamu lagi belajar pemrograman dan pengen bikin sistem atau alat di Linux, tinggal pilih deh mau ikut jalur C, Python, atau Go. Setiap bahasa punya peran dan pesonanya sendiri.


Penasaran pengen lihat contoh kode kernel Linux yang ditulis dalam C? Atau pengen nyobain bikin script Linux sendiri? Next ya ->  contoh kode kernel! 🚀


Tuesday, June 17, 2025

install nmap linux

Cara Install Nmap di Berbagai Distro Linux: Panduan Lengkap untuk Semua Pengguna

Nmap (Network Mapper) adalah alat pemindai jaringan open-source yang digunakan untuk menemukan host dan layanan di jaringan komputer. Nmap sangat berguna untuk admin sistem, praktisi keamanan siber, dan siapa saja yang tertarik memetakan jaringan.

Dalam artikel ini, kita akan membahas cara instalasi Nmap di berbagai distro Linux populer seperti Debian, Ubuntu, Linux Mint, Red Hat, Fedora, CentOS, openSUSE, dan lainnya.


🔧 1. Debian dan Turunannya (Ubuntu, Linux Mint, Pop!_OS)

📥 Perintah Instalasi:

sudo apt update
sudo apt install nmap


📌 Catatan:


🔧 2. Red Hat dan Turunannya (RHEL, CentOS, AlmaLinux, Rocky Linux)

📥 Perintah Instalasi:

sudo dnf install nmap

Untuk versi lama CentOS 7 atau RHEL 7, gunakan yum:

sudo yum install nmap

📌 Catatan:

  • Pastikan sistem sudah mengaktifkan repositori EPEL jika nmap tidak ditemukan (khusus untuk CentOS/RHEL minimalis).

  • Kompatibel dengan AlmaLinux dan Rocky Linux karena mereka fork dari RHEL.


🔧 3. Fedora

📥 Perintah Instalasi:

sudo dnf install nmap

📌 Catatan:

  • Fedora menggunakan DNF sebagai package manager default, jadi proses instalasinya sangat mudah.


🔧 4. openSUSE dan SUSE Linux Enterprise

📥 Perintah Instalasi:

sudo zypper install nmap

📌 Catatan:

  • zypper adalah package manager default di openSUSE dan SLES.

  • Tidak perlu konfigurasi tambahan, cukup jalankan perintah di atas.


🔧 5. Arch Linux dan Turunannya (Manjaro, EndeavourOS, Garuda, dll)

📥 Perintah Instalasi:

sudo pacman -S nmap

📌 Catatan:

  • Arch Linux memiliki paket nmap di repositori resmi (community).

  • Manjaro dan distro lain yang berbasis Arch bisa menggunakan perintah ini juga.


🔧 6. Solus

📥 Perintah Instalasi:

sudo eopkg install nmap

📌 Catatan:

  • Solus menggunakan package manager eopkg.


🔧 7. Alpine Linux

📥 Perintah Instalasi:

sudo apk add nmap

📌 Catatan:


✅ Verifikasi Instalasi

Setelah instalasi selesai, kamu bisa mengecek apakah nmap sudah terpasang dengan:

nmap -v

Jika berhasil, akan muncul versi dan informasi detail tentang Nmap.


🎯 Penutup

Berikut ringkasan perintah instalasi Nmap di berbagai distro Linux:

Distro Perintah Install
Debian, Ubuntu, Mint sudo apt install nmap
RHEL, CentOS sudo dnf install nmap / sudo yum install nmap
Fedora sudo dnf install nmap
openSUSE sudo zypper install nmap
Arch, Manjaro sudo pacman -S nmap
Solus sudo eopkg install nmap
Alpine sudo apk add nmap

Nmap adalah alat yang sangat powerful, dan proses instalasinya relatif mudah di hampir semua distribusi Linux. Setelah terinstal, kamu bisa langsung mulai melakukan eksplorasi jaringan dengan perintah-perintah seperti nmap -sn, nmap -sS, atau nmap -A.


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

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.

install JDK 17 temurin linux mint

🧪 Tutorial: Cara Instalasi Temurin JDK 17 di Linux Mint (Manual .tar.gz)

📦 1. Unduh File Temurin JDK 17

Untuk pengguna arsitektur ARM64 (aarch64), Anda bisa mengunduh file dari situs resmi Adoptium:

💡 URL: https://adoptium.net/temurin/releases/

Misalnya file hasil unduhan:

OpenJDK17U-jdk_x64_linux_hotspot_17.0.15_6.tar.gz

📁 2. Ekstrak ke Direktori /opt

Langkah ini akan menempatkan JDK ke lokasi sistem.

cd ~/Downloads

sudo tar -xzf OpenJDK17U-jdk_x64_linux_hotspot_17.0.15_6.tar.gz -C /opt

Hasil ekstraksi biasanya berupa folder:

/opt/jdk-17.0.15+6

🖇️ 3. (Opsional) Tambahkan ke update-alternatives

Jika Anda ingin menggunakan JDK 17 sebagai salah satu opsi JDK, tapi tidak menjadikannya default, daftarkan dulu ke sistem:

sudo update-alternatives --install /usr/bin/java java /opt/jdk-17.0.15+6/bin/java 1715

sudo update-alternatives --install /usr/bin/javac javac /opt/jdk-17.0.15+6/bin/javac 1715

Untuk memilih versi (jika ada beberapa JDK terpasang):

sudo update-alternatives --config java

Jika tidak ingin mengubah JDK default, lewati langkah ini dan lanjut ke langkah 4.


🧪 4. Gunakan Langsung (Tanpa Ubah Default)

Jika Anda hanya ingin menggunakan JDK ini secara lokal (misalnya untuk menjalankan aplikasi tertentu seperti SQuirreL SQL atau build tool), cukup arahkan ke JDK langsung:

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

Atau buat variabel lingkungan lokal:

export JAVA_HOME=/opt/jdk-17.0.15+6

export PATH=$JAVA_HOME/bin:$PATH

Tambahkan ke file ~/.bashrc atau ~/.zshrc jika ingin digunakan hanya untuk user Anda tanpa memengaruhi JDK default sistem.




✅ 5. Verifikasi Instalasi

Cek apakah JDK yang dimaksud aktif:

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

openjdk version "17.0.15" 2024-04-16
OpenJDK Runtime Environment Temurin-17.0.15+6 (build 17.0.15+6)
OpenJDK 64-Bit Server VM Temurin-17.0.15+6 (build 17.0.15+6, mixed mode)



📝 Kesimpulan

Dengan metode ini, Anda telah berhasil menginstal Temurin JDK 17 secara manual tanpa harus mengganti default JDK di sistem. Ini sangat cocok untuk kebutuhan khusus aplikasi, seperti:

  • SQuirreL SQL

  • Maven build dengan versi JDK spesifik

  • Menjalankan tools modern tanpa mengganggu JDK utama (misalnya JDK 8 atau JDK 7)


xampp linuxmint auto start systemd

Cara Menjalankan XAMPP Otomatis dengan systemd di Linux Mint

Jika Anda ingin XAMPP berjalan otomatis saat booting tanpa perlu login user terlebih dulu, maka cara terbaik adalah dengan membuat systemd service unit. Tutorial ini akan membantu Anda membuat XAMPP auto-start dengan pendekatan yang lebih profesional dan sistem-level.


🧰 Persiapan

Sebelum memulai, pastikan XAMPP sudah terinstal di direktori default:

/opt/lampp

Untuk memastikan:

ls /opt/lampp

⚙️ Langkah 1: Buat File Service

Buka terminal, lalu buat file service baru:

sudo nano /etc/systemd/system/xampp.service
atau jika ingin menggunakan editor xed dari linux mint gunakan perintah ini:
sudo xed /etc/systemd/system/xampp.service

Lalu isi dengan konfigurasi berikut:

[Unit]
Description=XAMPP Web Server Stack
After=network.target

[Service]
Type=forking
ExecStart=/opt/lampp/lampp start
ExecStop=/opt/lampp/lampp stop
Restart=on-failure
TimeoutSec=30

[Install]
WantedBy=multi-user.target

Jika menggunakan editor nano Simpan (Ctrl+O) dan keluar (Ctrl+X), sedangkan jika menggunakan editor xed, klik Ctrl+S untuk simpan dan Ctrl+Q untuk keluar.




🛡️ Langkah 2: Beri Izin Eksekusi

Pastikan file lampp bisa dieksekusi:

sudo chmod +x /opt/lampp/lampp

🔄 Langkah 3: Reload systemd dan Enable Service

Setelah membuat file service, reload konfigurasi systemd:

sudo systemctl daemon-reexec

sudo systemctl daemon-reload

Lalu aktifkan agar XAMPP berjalan otomatis saat boot:

sudo systemctl enable xampp

Jika ingin langsung menjalankan sekarang:

sudo systemctl start xampp

✅ Langkah 4: Cek Status Service

Untuk memastikan semuanya berjalan dengan baik:

sudo systemctl status xampp

Jika sukses, Anda akan melihat status active (running).




🧪 Uji Coba

Sekarang, restart sistem Anda:

sudo reboot

Setelah booting kembali, buka browser dan akses:

http://localhost

Jika dashboard XAMPP tampil, berarti berhasil!


🧼 (Opsional) Menonaktifkan Auto Start

Jika Anda ingin menonaktifkan auto-start:

sudo systemctl disable xampp

Dan jika ingin menghentikan manual:

sudo systemctl stop xampp

📝 Kesimpulan

Dengan menggunakan systemd, Anda mendapatkan:

  • Kontrol penuh atas layanan XAMPP

  • Kemampuan untuk auto-start sebelum login

  • Akses ke logging dan monitoring melalui systemctl dan journalctl

  • Solusi profesional yang cocok untuk penggunaan jangka panjang

Jika Anda adalah developer yang sering menggunakan XAMPP secara konsisten, metode ini sangat direkomendasikan.

install JDK 7 linux mint

Cara Instalasi JDK 7 di Linux Mint Tanpa Mengubah Default JDK

Meskipun JDK 7 adalah versi lama, ada kalanya kita tetap membutuhkannya — misalnya untuk menjalankan aplikasi lawas seperti iReport Designer 5.6.0 yang hanya kompatibel dengan JDK 7. Pada artikel ini, kita akan membahas cara menginstal JDK 7 di Linux Mint tanpa perlu mengubah versi JDK default yang sedang digunakan sistem.

🔽 1. Unduh JDK 7 dari Website Oracle

Oracle sudah tidak menyediakan JDK 7 secara bebas tanpa akun. Oleh karena itu, ikuti langkah berikut:

  1. Buka https://www.oracle.com/java/technologies/javase/javase7-archive-downloads.html

  2. Login dengan akun Oracle (gratis, bisa daftar dulu jika belum punya)

  3. Jika menggunakan linux 64, cari file berikut dan unduh:

    jdk-7u80-linux-x64.tar.gz
    
  4. Setelah selesai, file ini akan berada di folder Downloads.


📦 2. Pindahkan dan Ekstrak JDK ke Direktori /opt

Buka terminal dan jalankan perintah berikut:

cd ~/Downloads
sudo mv jdk-7u80-linux-x64.tar.gz /opt/
cd /opt/
sudo tar -xzf jdk-7u80-linux-x64.tar.gz

Setelah itu, akan muncul folder baru:

/opt/jdk1.7.0_80

⚙️ 3. Menjalankan Aplikasi iReport 5.6.0 dengan JDK 7 Tanpa Mengatur Default Sistem

Edit file ireport.conf pada folder etc, dengan menambahkan jdk_home, karena instalasi JDF 7 berada di /opt/jdk1.7.0_80 maka tambahkan path ini ke parameter jdk_home

jdkhome="/opt/jdk1.7.0_80/"

Klik 2 kali file ireport pada folder bin




✅ Kesimpulan

Dengan mengikuti langkah di atas, Anda bisa:

  • Menginstal JDK 7 di Linux Mint tanpa mengganggu konfigurasi JDK yang sudah ada

  • Menjalankan aplikasi lama seperti iReport 5.6.0 yang memerlukan JDK 7

  • Menjaga kestabilan sistem dengan tidak mengubah default JDK global

Jika Anda sering menggunakan iReport, Anda bisa menambahkan shortcut ke menu aplikasi Linux Mint juga. Semoga bermanfaat!


Tuesday, April 22, 2025

copy file by criteria

📁 Cara Menyalin File Berdasarkan Nama Menggunakan Perintah find di Linux

Dalam pengelolaan file di sistem operasi Linux, kita sering kali dihadapkan pada kebutuhan untuk mencari dan menyalin file secara otomatis berdasarkan pola nama tertentu. Salah satu contoh kasusnya adalah ketika kita ingin menyalin semua file yang diawali dengan "948_" dari satu direktori ke direktori lain.

Nah, Linux menyediakan perintah yang sangat powerful untuk keperluan ini, yaitu kombinasi dari find dan cp. Mari kita bahas cara penggunaannya secara detail.




🔍 Tujuan

Menyalin semua file dari folder sumber (/path/sumber) yang namanya diawali dengan 948_, ke folder tujuan (/path/tujuan).


🧪 Perintah Lengkap

find /path/sumber -type f -name '948_*' -exec cp {} /path/tujuan/ \;

🛠️ Penjelasan Tiap Bagian:

Bagian Perintah Fungsi
find Perintah untuk mencari file atau direktori
/path/sumber Lokasi sumber tempat pencarian file dilakukan
-type f Menentukan bahwa yang dicari hanya file biasa, bukan direktori
-name '948_*' Filter nama file, hanya yang diawali dengan 948_
-exec cp {} /path/tujuan/ \; Untuk setiap file yang ditemukan, jalankan perintah cp untuk menyalin file ke direktori tujuan

📁 Contoh Kasus Nyata

Misalnya kamu memiliki folder /home/user/data, dan kamu ingin menyalin semua file yang namanya diawali dengan 948_ ke folder backup /home/user/backup, maka perintahnya akan menjadi:

find /home/user/data -type f -name '948_*' -exec cp {} /home/user/backup/ \;

Sebelum menjalankan perintah ini, pastikan folder tujuan sudah dibuat. Jika belum, kamu bisa membuatnya terlebih dahulu dengan perintah:

mkdir -p /home/user/backup

⚠️ Tips Tambahan

  • Jika ada spasi dalam nama file, kamu bisa menggunakan alternatif dengan -print0 dan xargs -0:

    find /path/sumber -type f -name '948_*' -print0 | xargs -0 -I{} cp {} /path/tujuan/
    
  • Jika ingin menyimpan struktur folder aslinya saat menyalin, lebih baik menggunakan rsync dengan opsi khusus.


✅ Kesimpulan

Perintah find adalah alat yang sangat berguna ketika kamu bekerja dengan banyak file dan membutuhkan cara cepat untuk menemukan dan menyalin file secara otomatis berdasarkan pola nama tertentu. Dengan kombinasi -exec cp, kamu bisa mengotomatisasi proses ini dan menghemat banyak waktu.

Jangan ragu untuk mengembangkan penggunaan perintah ini sesuai dengan kebutuhanmu, misalnya untuk backup file otomatis, memindahkan file tertentu, atau mengorganisasi file secara dinamis.


Monday, October 21, 2024

make menu linux mint AppImage

Cara Membuat Menu dari File AppImage di Linux Mint 21

Linux Mint dikenal sebagai salah satu distribusi Linux yang ramah pengguna, dan dukungan untuk aplikasi portabel seperti AppImage menjadi salah satu kelebihannya. Namun, meskipun AppImage sangat praktis, biasanya tidak otomatis muncul di menu aplikasi setelah dijalankan. Pada tutorial ini, saya akan menunjukkan cara mudah membuat menu untuk aplikasi berbasis AppImage di Linux Mint versi 21.

Apa itu AppImage?

AppImage adalah format aplikasi portabel di Linux yang memungkinkan pengguna menjalankan program tanpa harus menginstal atau mengubah sistem. Aplikasi dalam format ini berisi semua dependensi yang diperlukan sehingga bisa langsung dijalankan di berbagai distribusi Linux.

Namun, karena AppImage biasanya tidak menambahkan dirinya ke dalam menu aplikasi secara otomatis, kita perlu membuat entri secara manual. Berikut adalah langkah-langkah untuk melakukannya.

Langkah-langkah Membuat Menu dari File AppImage

1. Download dan Simpan File AppImage

Langkah pertama adalah mengunduh file AppImage dari situs web resmi aplikasi yang ingin Anda gunakan. Setelah diunduh, pindahkan file AppImage ke direktori pilihan Anda, misalnya ke folder `~/AppImages`. Folder ini memudahkan Anda mengelola file-file AppImage yang diunduh.

Contoh:

mkdir ~/AppImages
mv /path/to/your/appimage ~/AppImages

2. Beri Izin Eksekusi pada File AppImage

Sebelum file AppImage dapat dijalankan, kita harus memberikan izin eksekusi. Ini bisa dilakukan melalui terminal atau menggunakan file manager.

  • Melalui terminal, gunakan perintah berikut:

  chmod +x ~/AppImages/nama-aplikasi.AppImage

  • Melalui file manager, klik kanan pada file AppImage, pilih Properties, lalu centang opsi Allow executing file as program pada tab Permissions.


3. Jalankan File AppImage

Setelah izin eksekusi diberikan, Anda bisa menjalankan aplikasi dengan mengklik dua kali file AppImage atau menjalankannya melalui terminal:

~/AppImages/nama-aplikasi.AppImage

Jika aplikasi berfungsi dengan baik, sekarang saatnya membuat shortcut di menu aplikasi.

4. Buat Shortcut di Menu Aplikasi

Untuk membuat shortcut di menu aplikasi, kita perlu membuat file `.desktop`. File ini akan menyimpan informasi yang diperlukan agar aplikasi AppImage muncul di menu.

4.1. Buat File .desktop

Buka terminal dan buat file `.desktop` di direktori `~/.local/share/applications/`. Misalnya, untuk aplikasi bernama "MyApp":

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

4.2. Isi Konten File .desktop

Masukkan konten berikut ke dalam file `.desktop` yang baru dibuat, lalu sesuaikan dengan aplikasi AppImage Anda:

[Desktop Entry]
Name=MyApp
Comment=Deskripsi Singkat Aplikasi
Exec=/home/username/AppImages/nama-aplikasi.AppImage
Icon=/home/username/AppImages/myapp-icon.png
Terminal=false
Type=Application
Categories=Utility;


Keterangan: 

- Name: Nama aplikasi yang akan muncul di menu.

- Comment: Deskripsi singkat aplikasi.

- Exec: Path lengkap menuju file AppImage.

- Icon: Path lengkap menuju ikon aplikasi (bisa menggunakan gambar `.png` yang sesuai).

- Terminal: Set ke `false` jika aplikasi tidak berjalan di terminal.

- Categories: Kategori aplikasi di menu (misalnya `Utility`, `Development`, atau `Office`).

Setelah mengedit file ini, simpan dan tutup editor teks.

5. Tambahkan Ikon (Opsional)

Jika aplikasi Anda tidak menyertakan ikon atau Anda ingin mengganti ikonnya, Anda bisa menambahkan file gambar berformat `.png` sebagai ikon. Letakkan file ikon tersebut di direktori yang sama atau di direktori lain, kemudian sesuaikan path-nya di bagian `Icon` pada file `.desktop` yang Anda buat sebelumnya.

Contoh:

Icon=/home/username/AppImages/myapp-icon.png



6. Refresh dan Cek di Menu

Setelah file `.desktop` dibuat, kita perlu me-refresh menu agar shortcut baru dapat muncul. Anda bisa melakukan refresh secara manual dengan perintah berikut di terminal:

sudo update-desktop-database

Sekarang, buka menu aplikasi di Linux Mint dan cari aplikasi yang baru saja Anda tambahkan. Jika semuanya berjalan dengan baik, aplikasi berbasis AppImage Anda kini sudah tersedia di menu.



7. Pin ke Panel atau Desktop (Opsional)

Jika Anda sering menggunakan aplikasi ini, Anda bisa menambahkannya ke panel atau desktop untuk akses cepat. Cukup buka menu aplikasi, cari aplikasi yang baru saja ditambahkan, klik kanan, dan pilih opsi Add to panel atau Add to desktop.

Kesimpulan

Itulah langkah-langkah mudah untuk membuat menu dari file AppImage di Linux Mint versi 21. Dengan cara ini, Anda bisa mengelola aplikasi portabel berbasis AppImage dengan lebih rapi dan mudah diakses melalui menu aplikasi. Semoga tutorial ini bermanfaat, dan selamat mencoba!



Monday, July 15, 2024

kenapa linux, opini pribadi

Kenapa menggunakan OS GNU Linux

Sebagai pengguna sistem operasi Linux, ada beberapa alasan kuat mengapa saya memilih Linux dibandingkan dengan sistem operasi lainnya. Berikut ini adalah beberapa kelebihan dan kekurangan menggunakan Linux:

Kelebihan Linux:

1. Open Source dan Gratis:

   - Linux adalah perangkat lunak open source yang berarti kode sumbernya tersedia untuk umum. Ini memungkinkan pengguna untuk memodifikasi dan mendistribusikan ulang sesuai kebutuhan.

   - Sebagian besar distribusi Linux dapat diunduh dan digunakan secara gratis, tanpa biaya lisensi.

2. Keamanan:

   - Linux dikenal memiliki tingkat keamanan yang tinggi. Struktur sistemnya membuatnya lebih tahan terhadap virus dan malware dibandingkan sistem operasi lain.

   - Pembaruan keamanan sering kali cepat diterapkan karena komunitas pengembang yang besar dan aktif.

3. Kinerja dan Stabilitas:

   - Linux biasanya lebih ringan dan efisien dibandingkan dengan Windows, sehingga dapat berjalan dengan baik bahkan pada perangkat keras yang lebih tua.

   - Stabilitas Linux sangat diakui, menjadikannya pilihan populer untuk server dan lingkungan kritis lainnya.

4. Kustomisasi:

   - Pengguna Linux memiliki kebebasan penuh untuk menyesuaikan sistem operasi mereka, dari antarmuka pengguna hingga kernel itu sendiri.

   - Terdapat berbagai macam distribusi (distro) Linux, masing-masing menawarkan pengalaman dan fitur yang berbeda, seperti Ubuntu, Fedora, Debian, Arch Linux, dan lainnya.

5. Komunitas dan Dukungan:

   - Ada komunitas pengguna dan pengembang yang sangat besar dan aktif yang selalu siap membantu, berbagi pengetahuan, dan menyediakan solusi untuk berbagai masalah.

6. Privasi:

   - Linux lebih memperhatikan privasi pengguna karena tidak mengumpulkan data pribadi secara agresif seperti beberapa sistem operasi lain.

Kekurangan Linux:

1. Kurangnya Dukungan Perangkat Lunak Komersial:

   - Beberapa perangkat lunak komersial dan permainan populer mungkin tidak tersedia atau didukung dengan baik di Linux. Walaupun ada alternatif open source, kadang-kadang mereka tidak setara dengan versi komersialnya.

   - Meskipun ada solusi seperti Wine atau virtualisasi, ini tidak selalu memberikan kinerja optimal atau kompatibilitas penuh.

2. Kurva Pembelajaran:

   - Bagi pengguna baru yang terbiasa dengan Windows atau macOS, Linux bisa memiliki kurva pembelajaran yang cukup curam, terutama jika harus menggunakan baris perintah.

   - Beberapa tugas administrasi mungkin memerlukan pemahaman lebih dalam tentang sistem operasi.

3. Kompatibilitas Perangkat Keras:

   - Meskipun situasi ini telah banyak membaik, beberapa perangkat keras mungkin masih memiliki dukungan driver yang buruk atau tidak ada sama sekali di Linux.

   - Beberapa perangkat terbaru mungkin tidak segera didukung di Linux.

4. Fragmentasi:

   - Karena banyaknya distribusi Linux, ada beberapa standar yang berbeda-beda dan tidak ada keseragaman dalam beberapa aspek, yang bisa membingungkan pengguna baru.

Secara keseluruhan, Linux adalah pilihan yang sangat baik bagi mereka yang menginginkan kontrol penuh atas sistem operasi mereka, mengutamakan keamanan dan privasi, serta tidak keberatan untuk belajar lebih banyak tentang cara kerja sistem operasi. Namun, untuk pengguna yang membutuhkan perangkat lunak tertentu yang hanya tersedia di Windows atau macOS, atau yang menginginkan pengalaman yang lebih mudah tanpa banyak konfigurasi, Linux mungkin bukan pilihan yang ideal.



Wednesday, April 24, 2024

pdfseparate command line

Tutorial Menggunakan Perintah pdfseparate untuk Memisahkan Halaman dalam File PDF di Linux

Apakah Anda sering bekerja dengan file PDF dan perlu memisahkan halaman-halamannya menjadi file-file terpisah? Jika Anda pengguna Linux, Anda beruntung karena Anda dapat menggunakan perintah `pdfseparate` untuk melakukan hal itu dengan mudah. Dalam tutorial ini, kami akan membahas langkah-langkah instalasi `pdfseparate` dan cara penggunaannya untuk memisahkan halaman dalam file PDF.

Langkah 1: Instalasi pdfseparate

Pertama-tama, pastikan Anda telah terhubung ke internet dan buka terminal Linux Anda. Anda dapat menginstal `pdfseparate` menggunakan manajer paket bawaan sistem Anda. Di sebagian besar distribusi Linux, Anda dapat menggunakan perintah `apt`, `yum`, atau `pacman` sesuai distribusi masing-masing.

Untuk pengguna Debian/Ubuntu, gunakan:

sudo apt install poppler-utils

Untuk pengguna Fedora, gunakan:

sudo dnf install poppler-utils

Untuk pengguna Arch Linux, gunakan:

sudo pacman -S poppler

Setelah instalasi selesai, Anda siap untuk memulai pemisahan halaman PDF.

Langkah 2: Penggunaan pdfseparate

Sekarang, mari kita lihat beberapa contoh penggunaan `pdfseparate`:

1. Memisahkan halaman tertentu dari file PDF:

   Untuk memisahkan halaman-halaman tertentu dari file PDF, gunakan sintaks berikut:

pdfseparate namafile.pdf namafile_%d.pdf [halaman]

Misalnya, untuk memisahkan halaman 1 dan 2 dari file "contoh.pdf":

pdfseparate contoh.pdf contoh_%d.pdf 1 2

Ini akan membuat dua file terpisah: "contoh_1.pdf" dan "contoh_2.pdf" yang masing-masing berisi halaman 1 dan 2 dari file "contoh.pdf".

2. Memisahkan semua halaman menjadi file terpisah:

   Jika Anda ingin memisahkan setiap halaman dari file PDF menjadi file terpisah, gunakan sintaks:

pdfseparate namafile.pdf namafile_%d.pdf

Contoh:

pdfseparate contoh.pdf contoh_%d.pdf

Ini akan membuat file-file terpisah seperti "contoh_1.pdf", "contoh_2.pdf", dan seterusnya, masing-masing berisi satu halaman dari file "contoh.pdf".

3. Mengambil halaman awal dan halaman akhir


pdfseparate -f 1 -l 2 K_20211106.pdf K%d.pdf

Dalam contoh ini, perintah akan memisahkan halaman pertama hingga halaman ke-65 dari file "K_20211106.pdf" dan menyimpannya dalam file-file terpisah dengan format "K1.pdf", "K2.pdf", dan seterusnya, dengan setiap file berisi satu halaman dari halaman pertama hingga ke-65.

Kesimpulan

Dengan perintah `pdfseparate`, memisahkan halaman dalam file PDF menjadi file-file terpisah menjadi tugas yang sangat mudah di Linux. Anda dapat menggunakannya untuk berbagai keperluan, seperti mengambil halaman-halaman spesifik, membagi file PDF besar menjadi bagian-bagian yang lebih kecil, dan banyak lagi.

Jadi, sekarang Anda sudah memiliki alat yang kuat untuk mengelola file PDF Anda di Linux. Selamat mencoba!


Friday, March 15, 2024

XAMPP auto start linux

Langkah-langkah untuk membuat layanan systemd agar XAMPP berjalan otomatis saat komputer dinyalakan di Linux(linux mint):

1. Buat File Unit untuk Layanan XAMPP:

Buka terminal dan buat file unit untuk layanan XAMPP dengan perintah:

sudo nano /etc/systemd/system/xampp.service

2. Edit File Unit:

Tambahkan konfigurasi berikut ke dalam file unit yang baru dibuat:


Pastikan untuk mengganti `/opt/lampp/` dengan jalur yang benar jika XAMPP terinstal di lokasi yang berbeda.

3. Simpan dan Keluar dari File Unit:

Simpan perubahan yang telah Anda buat dengan menekan `Ctrl + O`, tekan `Enter`, dan kemudian keluar dari editor dengan menekan `Ctrl + X`.

4. Reload systemd:

Reload daemon systemd untuk merefresh perubahan yang baru saja dibuat:

sudo systemctl daemon-reload

5. Aktifkan Layanan systemd:

Aktifkan layanan XAMPP agar dijalankan saat boot dengan perintah:

sudo systemctl enable xampp

6. Mulai Layanan systemctl:

Mulai layanan XAMPP dengan menggunakan systemctl:

sudo systemctl start xampp

Sekarang, XAMPP akan dijalankan secara otomatis setiap kali sistem dinyalakan. Anda juga dapat menggunakan `stop`, `restart`, dan `status` dengan perintah `systemctl` untuk mengelola layanan XAMPP.


Saturday, March 9, 2024

ssh keygen untuk github

Cara Membuat SSH Keygen dan Menyalinnya ke Clipboard untuk GitHub

SSH key pairs adalah cara aman untuk mengautentikasi diri Anda saat berhubungan dengan server atau layanan jarak jauh. GitHub memungkinkan Anda untuk mengakses repositori Anda melalui protokol SSH, yang membuatnya aman dan nyaman untuk berkolaborasi dengan tim Anda. Dalam tutorial ini, saya akan membimbing Anda langkah demi langkah untuk membuat SSH key pair di macOS/Linux dan menyalinnya ke clipboard agar dapat diinput ke menu pengaturan GitHub.


Langkah 1: Buka Terminal

Buka aplikasi Terminal di macOS/Linux

Langkah 2: Buat SSH Key Pair

Ketik perintah berikut di Terminal untuk membuat SSH key pair:

ssh-keygen -t rsa -b 4096 -C "email@example.com"

Ganti `email@example.com` dengan alamat email yang terhubung dengan akun GitHub Anda. Ini akan membuat key baru dengan tipe RSA dan panjang bit 4096.

Langkah 3: Salin SSH Public Key ke Clipboard

Jalankan perintah berikut untuk menampilkan isi dari file `id_rsa.pub` dan langsung menyalinnya ke clipboard:

Untuk macOS

cat ~/.ssh/id_rsa.pub | pbcopy


Untuk Linux

cat ~/.ssh/id_rsa.pub | xclip -sel clip


Untuk Git Bash Windows:

cat ~/.ssh/id_rsa.pub | clip

Langkah 4: Tambahkan SSH Key ke Akun GitHub

- Buka laman [GitHub](https://github.com/) dan masuk ke akun Anda.

- Klik ikon foto profil Anda di sudut kanan atas, lalu pilih "Settings".

- Di panel kiri, pilih "SSH and GPG keys".

- Klik "New SSH key" atau "Add SSH key".

- Tempelkan/paste kunci SSH yang telah Anda salin ke dalam isian yang disediakan.

- Beri judul yang deskriptif, misalnya "Macbook Pro SSH Key".

- Klik "Add SSH key" untuk menyimpannya.

Sekarang, Anda telah menambahkan SSH key Anda ke akun GitHub Anda dan bisa menggunakan git secara aman melalui protokol SSH.

Dengan mengikuti langkah-langkah ini, Anda telah berhasil membuat dan menyalin SSH key pair Anda ke clipboard, sehingga Anda dapat dengan mudah mengintegrasikan akun GitHub Anda dengan sistem operasi macOS Anda.

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