0Pricing
SQL Academy · Pelajaran

Pembulatan dan Pemotongan

ROUND, CEIL, FLOOR, dan TRUNC.

Pembulatan dan Pemotongan adalah pelajaran SQL Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar SQL Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus SQL Academy mencakup 4 pelajaran total.

Mengapa Pembulatan Penting

Saat bekerja dengan angka dalam SQL, Anda sering mendapatkan hasil dengan banyak tempat desimal. Misalnya, membagi 10 dengan 3 menghasilkan 3.3333333...

SQL menyediakan fungsi bawaan untuk mengatur jumlah tempat desimal yang ditampilkan atau disimpan: ROUND, CEIL, FLOOR, dan TRUNC. Fungsi-fungsi ini penting untuk menyajikan angka keuangan, pengukuran, dan statistik dengan rapi.

SELECT 10.0 / 3.0 AS raw_result;

ROUND: Penggunaan Dasar

Fungsi ROUND() membulatkan angka ke jumlah tempat desimal yang ditentukan. Fungsi ini mengikuti aturan pembulatan standar: digit 5 atau lebih dibulatkan ke atas, sedangkan digit di bawah 5 dibulatkan ke bawah.

Sintaksnya adalah: ROUND(number, decimal_places). Jika argumen kedua dihilangkan, angka dibulatkan ke bilangan bulat terdekat.

SELECT
  ROUND(3.14159, 2) AS two_decimals,
  ROUND(3.14159, 0) AS zero_decimals,
  ROUND(3.14159)    AS no_arg;

ROUND dengan Tempat Desimal Negatif

Fitur ROUND() yang jarang diketahui adalah Anda dapat memberikan angka negatif sebagai argumen kedua. Ini membulatkan angka ke sebelah kiri tanda desimal — berguna untuk pembulatan ke puluhan, ratusan, atau ribuan terdekat.

Misalnya, ROUND(1567, -2) membulatkan ke ratusan terdekat dan menghasilkan 1600.

SELECT
  ROUND(1567.89, -1)  AS nearest_ten,
  ROUND(1567.89, -2)  AS nearest_hundred,
  ROUND(1567.89, -3)  AS nearest_thousand;

CEIL: Selalu Membulatkan ke Atas

CEIL() (juga ditulis sebagai CEILING() di beberapa basis data) selalu membulatkan angka ke atas ke bilangan bulat terdekat, terlepas dari bagian desimalnya.

Ini berguna saat Anda perlu memastikan hasil tidak pernah berada di bawah minimum — misalnya, saat menghitung jumlah halaman yang diperlukan untuk menampilkan sekumpulan hasil.

SELECT
  CEIL(4.1)   AS ceil_4_1,
  CEIL(4.9)   AS ceil_4_9,
  CEIL(-4.1)  AS ceil_neg_4_1,
  CEIL(-4.9)  AS ceil_neg_4_9;

FLOOR: Selalu Membulatkan ke Bawah

FLOOR() selalu membulatkan angka ke bawah ke bilangan bulat terdekat, terlepas dari bagian desimalnya.

Perhatikan bahwa untuk angka negatif, FLOOR membulatkan menjauhi nol — FLOOR(-4.1) menghasilkan -5, bukan -4. Perilaku ini berlawanan dengan perkiraan sebagian pemula.

SELECT
  FLOOR(4.9)   AS floor_4_9,
  FLOOR(4.1)   AS floor_4_1,
  FLOOR(-4.1)  AS floor_neg_4_1,
  FLOOR(-4.9)  AS floor_neg_4_9;

CEIL vs FLOOR Berdampingan

Melihat CEIL dan FLOOR secara bersamaan memudahkan Anda memahami perbedaannya. CEIL selalu naik ke bilangan bulat berikutnya, sedangkan FLOOR selalu turun.

Bayangkan sebuah gedung: FLOOR adalah tingkat dasar tempat Anda jatuh, sedangkan CEIL adalah langit-langit yang Anda capai saat naik.

SELECT
  2.3   AS original,
  CEIL(2.3)  AS ceil_result,
  FLOOR(2.3) AS floor_result
UNION ALL
SELECT
  7.8,
  CEIL(7.8),
  FLOOR(7.8);

TRUNC: Memotong Tanpa Membulatkan

TRUNC() (atau TRUNCATE() dalam MySQL) menghapus digit desimal tanpa pembulatan apa pun. Fungsi ini hanya memotong digit setelah posisi yang ditentukan.

Ini berbeda dari ROUND — TRUNC(4.9) menghasilkan 4, bukan 5. Bagian desimalnya hanya dibuang.

SELECT
  TRUNC(4.9)       AS trunc_4_9,
  TRUNC(4.1)       AS trunc_4_1,
  TRUNC(-4.9)      AS trunc_neg_4_9,
  TRUNC(3.14159, 3) AS trunc_3_decimals;

Perbandingan ROUND dan TRUNC

Perbedaan utama antara ROUND dan TRUNC adalah ROUND mengubah nilai berdasarkan digit berikutnya, sedangkan TRUNC selalu membuang semua bagian setelah titik pemotongan tanpa penyesuaian.

Gunakan ROUND saat Anda menginginkan nilai yang paling dekat secara matematis. Gunakan TRUNC saat Anda ingin benar-benar menghapus presisi tanpa penyesuaian ke atas — hal yang umum dalam perhitungan keuangan ketika Anda tidak boleh membayar lebih.

SELECT
  ROUND(2.567, 1)  AS rounded,
  TRUNC(2.567, 1)  AS truncated;
-- ROUND gives 2.6 (5 rounds up)
-- TRUNC gives 2.5 (just cuts off)

Menggunakan ROUND dalam Tabel Nyata

Fungsi pembulatan paling berguna saat diterapkan pada kolom tabel. Di sini kita membuat tabel produk sederhana dengan harga dan menerapkan ROUND untuk menampilkannya dengan rapi.

Pola ini sangat umum dalam kueri perdagangan elektronik dan akuntansi, ketika perhitungan mentah menghasilkan banyak tempat desimal.

CREATE TABLE products (
  name  TEXT,
  price NUMERIC
);

INSERT INTO products VALUES
  ('Widget',  9.999),
  ('Gadget',  24.3333),
  ('Doohickey', 4.5678);

SELECT name, ROUND(price, 2) AS display_price
FROM products;

Menggabungkan Fungsi dalam Kueri

Anda dapat menggabungkan fungsi pembulatan dengan ekspresi SQL lainnya. Misalnya, hitung harga setelah diskon, lalu bulatkan hasilnya untuk ditampilkan.

Kueri ini menerapkan diskon 15%, membulatkan hasilnya hingga 2 tempat desimal, dan juga menampilkan nilai FLOOR serta CEIL dari harga setelah diskon — sehingga menghasilkan harga bilangan bulat minimum dan maksimum.

SELECT
  name,
  price,
  ROUND(price * 0.85, 2)  AS discounted,
  FLOOR(price * 0.85)     AS min_price,
  CEIL(price  * 0.85)     AS max_price
FROM products;

Paginasi dengan CEIL

Penggunaan klasik CEIL adalah menghitung jumlah halaman dalam sistem paginasi. Jika Anda memiliki 97 baris dan menampilkan 10 baris per halaman, Anda memerlukan CEIL(97 / 10.0) = 10 halaman (bukan 9, karena halaman terakhir memiliki 7 baris).

Selalu lakukan pembagian dengan bilangan desimal (10.0, bukan 10) untuk menghindari pembagian bilangan bulat, yang akan membuang sisanya sebelum CEIL dapat bekerja.

SELECT
  97 AS total_rows,
  10 AS rows_per_page,
  CEIL(97 / 10.0) AS total_pages;

Uji Cepat

Uji pemahaman Anda tentang fungsi pembulatan SQL.

Ringkasan Pelajaran

Kerja bagus! Berikut adalah ringkasan fungsi pembulatan dan pemotongan dalam SQL:

  • ROUND(n, d) — membulatkan hingga d tempat desimal menggunakan aturan matematika standar (5 atau lebih dibulatkan ke atas).
  • CEIL(n) — selalu membulatkan ke atas ke bilangan bulat terdekat.
  • FLOOR(n) — selalu membulatkan ke bawah ke bilangan bulat terdekat.
  • TRUNC(n, d) — menghapus digit setelah posisi d tanpa pembulatan; tidak pernah meningkatkan nilai.

Gunakan ROUND untuk tampilan dan statistik, CEIL untuk perhitungan kapasitas minimum (seperti halaman), FLOOR untuk perhitungan jumlah maksimum yang dapat ditampung, dan TRUNC saat Anda tidak boleh membulatkan ke atas — terutama dalam konteks keuangan.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pembulatan dan Pemotongan” gratis?

Ya — teks lengkap “Pembulatan dan Pemotongan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus SQL Academy, upgrade ke CoddyKit PRO. Kursus SQL Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pembulatan dan Pemotongan”?

ROUND, CEIL, FLOOR, dan TRUNC. Kamu berlatih SQL Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai SQL Academy?

Tidak diperlukan pengalaman sebelumnya. SQL Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Pembulatan dan Pemotongan” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran SQL Academy ini?

Ya. Setiap pelajaran SQL Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Aritmetika dan Operator
  2. Pembulatan dan Pemotongan
  3. Pembagian Bilangan Bulat vs Desimal
  4. Fungsi Matematika yang Berguna
← Kembali ke SQL Academy