Grafik baru selesai berarti baru di layar. Untuk masuk ke laporan, presentasi, atau repositori, figur harus menjadi BERKAS — dan di sinilah banyak grafik mati: PNG dengan resolusi layar pecah saat dicetak, JPEG membuat garis tipis berkabut, dan figur berukuran kertas A4 portrait memotong dasbor landscape. MATLAB menyediakan tiga jalur export dengan tingkat kendali berbeda. Cakupan chapter ini:

  • Tiga jalur export: saveas, print, exportgraphics
  • Resolusi dpi dan efeknya pada ukuran berkas
  • Vektor vs raster: kapan memilih SVG/PDF vs PNG/JPG
  • Ukuran kertas, orientasi, dan praktik folder laporan yang konsisten

Tiga Jalur Export #

JalurPerintahKelebihanCatatan
saveassaveas(f, 'grafik.png')satu baris, format umumresolusi mengikuti layar
printprint(f, '-dpng', '-r300', 'g.png')kendali penuh dpi, kertas, formatsintaks gaya perintah
exportgraphicsexportgraphics(f, 'g.png', 'Resolution', 300)tight crop, latar transparan, hanya area grafikMATLAB R2020a+

Mekanismenya ketiganya sama di titik akhir: MATLAB merender figur ke canvas (raster) atau ke instruksi geometri (vektor), lalu menulis hasilnya ke berkas. saveas dan print hadir sejak versi awal MATLAB dan juga di GNU Octave; exportgraphics adalah fungsi modern (R2020a) yang memotong tepi kosong dan mengekspor persis area grafik.

saveas: Jalur Tercepat #

Aturannya: saveas(figure, berkas) menyimpan figur utuh apa adanya. Mekanismenya: format dibaca dari ekstensi berkas (.png, .jpg, .svg, .eps, .pdf, .tif) dan seluruh figur — termasuk area kosong di sekeliling grafik — ikut tergambar:

matlab
saveas(f, 'penjualan-saveas.png');
fprintf('Grafik tersimpan: penjualan-saveas.png\n');

Resolusi mengikuti pengaturan layar/figur, sehingga saveas cocok untuk draf, preview, dan web — bukan untuk cetak beresolusi tinggi.

Perintah print adalah alat berat: -d<format> memilih device dan -r<n> menyetel resolusi dalam dpi (dots per inch). Mekanismenya: ukuran piksel berkas = ukuran figur (inci) × dpi — figur 4x3 inci pada -r300 menjadi 1200x900 piksel, lima kali lebih tajam dari -r72:

matlab
print(f, '-dpng', '-r300', 'penjualan-300dpi.png');
print(f, '-dsvg', 'penjualan.svg');

Bentuk fungsinya juga sah: print(f, '-dpng', '-r300', berkas). Resolusi 300 dpi adalah standar cetak; 150 dpi biasanya cukup untuk slide presentasi. Latar transparan dan tight crop bisa ditambah lewat opsi print seperti -transparent (MATLAB) — namun untuk kebutuhan itu, exportgraphics jauh lebih praktis.

Vektor vs Raster #

Pilihan paling menentukan bukan dpi, melainkan JENIS berkas. Mekanismenya: raster (PNG/JPG/TIFF) menyimpan grid piksel warna — diperbesar, garis bergerigi; vektor (SVG/EPS/PDF) menyimpan instruksi “garis dari titik A ke B” — dirender ulang tajam pada zoom berapa pun:

FormatJenisKapan dipilih
.pngrasterdefault aman: web, laporan, slide — lossless
.jpgrasterfoto/screenshot; hindari untuk grafik garis (kabut lossy)
.tifrastercetak profesional, lossless, berkas besar
.svgvektorweb modern, editor gambar (Inkscape/Figma)
.epsvektorpublikasi LaTeX klasik
.pdfvektorlampiran laporan, dicetak pada ukuran berapa pun

Aturan praktisnya: grafik garis, batang, dan teks pada laporan formal → vektor; grafik padat seperti heatmap ratusan ribu sel atau scatter besar → raster (berkas vektor raksasa malah lambat dibuka).

Ukuran Kertas dan Orientasi #

Untuk berkas vektor dan cetak, figur dipetakan ke “kertas” melalui properti Paper*: PaperOrientation (portrait/landscape), PaperPositionMode, dan PaperUnits. Mode 'auto' membuat area cetak mengikuti ukuran figur di layar sehingga dasbor lebar tidak terpotong:

matlab
set(f, 'PaperPositionMode', 'auto', 'PaperOrientation', 'landscape');
print(f, '-dpdf', 'dasbor-landscape.pdf');

Contoh Utuh: Tiga Ekspor Sekaligus #

Skrip contoh.m menyimpan satu figur lewat tiga jalur — dua raster berbeda resolusi dan satu vektor — lalu memverifikasi ketiga berkas dengan exist:

matlab
bulan = 1:12;
penjualan = [120 135 128 150 142 168 155 172 160 185 178 195];

f = figure('visible', 'off', 'Position', [100 100 800 450]);
plot(bulan, penjualan, '-o', 'LineWidth', 1.5, ...
     'MarkerFaceColor', [0.20 0.40 0.80]);
grid on;
xlabel('Bulan'); ylabel('Unit terjual');
title('Penjualan Toko Budi 2026');

% 1) saveas: cara tercepat
saveas(f, 'penjualan-saveas.png');
fprintf('Grafik tersimpan: penjualan-saveas.png\n');

% 2) print dengan resolusi 300 dpi
print(f, '-dpng', '-r300', 'penjualan-300dpi.png');
fprintf('Grafik tersimpan: penjualan-300dpi.png\n');

% 3) print ke format vektor SVG
print(f, '-dsvg', 'penjualan.svg');
fprintf('Grafik tersimpan: penjualan.svg\n');

% verifikasi berkas benar-benar dibuat
fprintf('penjualan-saveas.png ada: %d\n', exist('penjualan-saveas.png', 'file'));
fprintf('penjualan-300dpi.png ada: %d\n', exist('penjualan-300dpi.png', 'file'));
fprintf('penjualan.svg ada: %d\n', exist('penjualan.svg', 'file'));

Output yang Dihasilkan:

text
Grafik tersimpan: penjualan-saveas.png
Grafik tersimpan: penjualan-300dpi.png
Grafik tersimpan: penjualan.svg
penjualan-saveas.png ada: 2
penjualan-300dpi.png ada: 2
penjualan.svg ada: 2

Mari kita bedah baris-baris kode di atas:

  1. Baris 4 (figure(..., 'Position', [100 100 800 450])): ukuran figur 800x450 piksel ditetapkan sejak awal — semua jalur export mewarisi dimensi ini sehingga ketiga berkas punya rasio sama.
  2. Baris 12 (saveas(f, 'penjualan-saveas.png')): format PNG dipilih dari ekstensi; resolusinya mengikuti figur, paling kecil di antara ketiganya.
  3. Baris 16 (print(f, '-dpng', '-r300', ...)): device -dpng plus 300 dpi menghasilkan raster tajam siap cetak — berkasnya beberapa kali lebih besar dari hasil saveas.
  4. Baris 20 (print(f, '-dsvg', 'penjualan.svg')): device -dsvg menulis instruksi vektor — teks dan garis tetap tajam pada zoom berapa pun.
  5. Baris 24-26 (exist(..., 'file')): exist mengembalikan 2 untuk berkas yang ada — pemeriksaan deterministik pengganti mata, konsisten dengan pola uji headless seluruh course.

Ringkasan #

saveas menyimpan figur apa adanya, print mengendalikan dpi (-r300 untuk cetak) dan format (-dpng, -dsvg, -dpdf), serta exportgraphics (MATLAB R2020a+) menambah tight crop dan latar transparan. Grafik garis untuk laporan formal terbaik di vektor (SVG/PDF/EPS), grafik padat di raster (PNG), dan JPEG dihindari untuk grafik garis. Figur yang tergambar rapi, ter-label, ter-style, dan tersimpan sebagai berkas — itulah seluruh perjalanan visualisasi data kita dari konsep hingga siap laporan.