S/

Perangkat Lunak / 5 min read

Imagemagick – Optimasi Gambar Dengan Cepat Melalui Command Line

Satria Aji Putra
Satria Aji Putra Author
Imagemagick – Optimasi Gambar Dengan Cepat Melalui Command Line

Gambar yang tepat untuk ditampilkan di halaman website adalah kurang dari 200 kilobytes karena itu optimasi gambar sangat penting dilakukan untuk menjaga performa website agar tetap cepat diakses oleh siapapun dan dalam kondisi kecepatan internet berapapun. Khususnya ketika saya sedang mengembangkan website yang dituntut untuk membuat website ringan dan user-friendly.

Tentu untuk memenuhi permintaan tersebut saya harus memperhatikan berbagai hal salah satunya yang penting adalah ukuran gambar yang ditampilkan di website, bagi anda yang menggunakan sistem operasi Windows mungkin akan sangat mudah untuk melakukan optimasi gambar, baik itu melalui perangkat lunak pengolah gambar atau yang lainnya.

Tetapi disini saya menggunakan sistem operasi Linux Ubuntu yang tentunya dukungan perangkat lunak seperti pengolah gambar masih sangat sedikit. Meskipun sekarang sudah ada yang namanya Gimp, tetapi akan sangat sulit bagi pengguna baru dan akan sangat lama untuk optimasi sebuah gambar saja, sedangkan dalam hal pengembangan website dituntut untuk cepat karena harus mengejar yang namanya deadline.

Beberapa waktu lalu saya menemukan cara cepat untuk optimasi gambar melalui terminal atau command line, yaitu menggunakan fitur command line yang disediakan oleh perangkat lunak yang namanya ImageMagick. Dengan bantuan tools itu saya dapat menghemat waktu yang cukup banyak karena dengannya saya bisa hanya cukup membutuhkan waktu kurang lebih 10 detik saja untuk mengoptimasi gambar.

Tidak hanya satu gambar, dengan ImageMagick ini juga dapat optimasi banyak gambar hanya dengan satu baris perintah saja, sangat keren bukan? Nah untuk caranya bagaimana, saya tuliskan di bawah ini.

Note

ImageMagick v7+: Pada versi terbaru (v7 ke atas), perintah convert telah digantikan oleh perintah tunggal magick. Jika Anda baru memasang ImageMagick hari ini, disarankan menggunakan perintah magick sebagai ganti convert untuk performa yang lebih baik dan fitur yang lebih lengkap.

Memasang ImageMagick

Berikut ini saya sediakan cara pemasangan ImageMagick di beberapa jenis sistem operasi.

Debian/Ubuntu Family

bash
sudo apt-get install build-essential gcc -y && apt-get install imagemagick -y

CentOS/Fedora Family

bash
sudo yum install gcc -y && yum install ImageMagick ImageMagick-devel -y

Windows

Untuk pemasangan di windows, seperti biasa cukup download instalasi berikut dan install di komputer anda.

Setelah mengikuti tahapan pemasangan, sekarang coba buka aplikasi terminal atau command line atau cmd anda, lalu coba eksekusi perintah convert.

Pastikan setelah mengeksekusi perintah di atas, yang muncul adalah bukan pesan error, jika di linux akan muncul hasil seperti berikut.

Gambar 1. Terminal convert command

Jika yang tampil kurang lebih seperti pada gambar tersebut, berarti pemasangan berhasil dilakukan.

Persiapan Gambar

Sebagai contoh, di sini saya sudah mempersiapkan dua gambar yang memiliki ukuran sekitar 2 megabyte yang saya unduh di situs unsplash.com.

Gambar 2. Folder Gambar yang Akan di Convert

Optimasi Gambar

Melakukan optimasi gambar menggunakan ImageMagick sebetulnya sangat banyak sekali fitur dan cara, akan tetapi disini akan saya jelaskan hanya fitur yang sering atau umum dipakai dalam optimasi gambar.

Sebelum memulai, silahkan buka dulu folder sampel gambar anda. Lalu klik kanan di bagian yang kosong, dan pilih Open Terminal Here, biasanya ada di bagian paling akhir. Karena saya menggunakan Ubuntu versi Budgie, maka namanya bukan Open Terminal Here, tetapi Open Tilix Here.

Setelah itu maka akan terbuka window baru yaitu terminal.

Crop (Memotong Gambar)

Memotong gambar merupakan salah satu hal yang sering dilakukan dalam optimasi gambar, tujuannya untuk memperkecil sedemikian mungkin ukuran gambar.

Pada terminal anda silahkan eksekusi perintah berikut:

bash
convert *.jpg -resize 250x300^ -gravity Center -crop 250x300+0+0 +repage converted.jpg

Penjelasan Perintah:

  1. convert - Perintah utama ImageMagick
  2. *.jpg - Memilih semua file dengan ekstensi .jpg
  3. -resize 250x300^ - Mengubah ukuran gambar menjadi 250x300 pixel
  4. -gravity Center - Menentukan titik pusat untuk crop
  5. -crop 250x300+0+0 - Memotong gambar dengan ukuran 250x300
  6. +repage - Menghapus informasi canvas virtual
  7. converted.jpg - Nama file hasil konversi

Berikut hasil perbandingan gambar yang belum di optimasi dengan yang sudah.

Gambar 3. Perbandingan Ukuran Gambar Sesudah Convert

Mengatur Kualitas Gambar

Selain memotong, anda juga dapat mengatur kualitas gambar kita dalam interval 0 — 100. Berikut perintahnya:

bash
convert *.jpg -quality 20 converted.jpg

Angka 20 dalam perintah di atas adalah interval kualitas gambar.

Berikut hasil perbandingan gambar yang belum di optimasi dengan yang sudah.

Gambar 4. Perbandingan Ukuran Gambar Sesudah Convert - 2

Optimasi Gambar Spesifik

Optimasi gambar spesifik adalah optimasi gambar hanya tertuju pada nama gambar yang di masukkan pada perintah. Contoh perintahnya berikut ini:

bash
convert g2.jpg -quality 20 g2-converted.jpg

Dengan perintah di atas, anda melakukan optimasi spesifik pada file bernama g2.jpg dengan hasil nama optimasi adalah g2-converted.jpg. Berikut hasilnya.

Gambar 5. Perbandingan Ukuran Gambar Sesudah Convert - 3

Penggabungan Optimasi Gambar

Penggabungan optimasi gambar adalah dengan menggabungkan seluruh metode optimasi gambar yang sudah anda ikuti di tahap sebelumnya menjadi satu baris perintah. Berikut contoh perintah untuk memotong gambar sekaligus mengatur kualitas gambar:

bash
convert *.jpg -resize 250x300^ -gravity Center -crop 250x300+0+0 +repage -quality 20 converted.jpg

Berikut hasil dari optimasi dengan perintah di atas.

Gambar 6. Perbandingan Ukuran Gambar Sesudah Convert - 2

Bagaimana menurut anda? apakah sangat membantu dan optimal? Hal ini pada awalnya akan sangat lama dilakukan, tetapi jika sudah terbiasa anda hanya cukup membutuhkan waktu beberapa detik saja untuk melakukan optimasi gambar tanpa perlu membuka perangkat lunak pengolah gambar yang berat.


Pembaruan 2026: WebP, AVIF, dan Perintah magick

Dunia optimasi gambar telah berkembang pesat sejak artikel ini pertama kali ditulis. Saat ini, format seperti WebP dan AVIF menjadi standar baru karena kemampuannya menghasilkan ukuran file yang jauh lebih kecil dengan kualitas yang tetap terjaga.

1. Menggunakan Perintah magick (v7)

Jika Anda menggunakan ImageMagick versi 7, perintah convert sekarang menjadi bagian dari magick.

Contoh dasar:

bash
magick input.jpg -quality 80 output.jpg

2. Konversi ke WebP untuk Web

WebP adalah format yang sangat disarankan untuk website modern. Anda bisa mengonversi seluruh gambar folder ke WebP dengan kompresi yang sangat efisien:

bash
magick *.jpg -quality 75 -define webp:lossless=false output.webp

Atau jika ingin mengonversi satu per satu namun secara massal (batch):

bash
magick mogrify -format webp -quality 75 *.jpg

3. Menggunakan AVIF (Paling Efisien)

AVIF adalah format masa depan yang memiliki rasio kompresi lebih baik daripada WebP. ImageMagick v7 mendukung AVIF jika library pendukungnya terpasang:

bash
magick input.png -quality 50 output.avif

4. Resize Massal Tanpa Kehilangan Proporsi

Untuk membuat thumbnail secara massal dengan cerdas tanpa merusak rasio gambar:

bash
magick mogrify -resize 800x -quality 80 -path ./compressed *.jpg

Perintah di atas akan mengecilkan lebar gambar menjadi 800px (tinggi mengikuti otomatis) dan menyimpannya di folder compressed.


Artikel ini adalah awal saya belajar menulis kembali, saya berharap dapat terus belajar menulis dan lebih baik kedepannya. Terima kasih sudah membaca artikel di blog saya yang masih belepotan. 😊

Discovery / Related

File Test Operators di Linux
Open Post →
Perangkat Lunak /

File Test Operators di Linux

Daftar lengkap File Test Operators di Linux untuk mempermudah penulisan skrip bash, mulai dari pengecekan eksistensi file hingga hak akses dengan contoh if..else.