dalam kalkulus, kaidah darab (bahasa inggris: product rule), atau sering disebut hukum leibniz (lihat turunan), adalah kaidah yang menentukan turunan dari hasil kali (darab) fungsi yang terdiferensialkan.
kaidah ini dapat dituliskan sebagai:
atau dalam notasi leibniz:
penemuan oleh leibniz
kaidah ini ditemukan oleh gottfried leibniz yang mendemonstrasikannya dengan menggunakan diferensial.
argumen leibniz adalah sebagai berikut: jika u(x) dan v(x) adalah dua fungsi x yang terdiferensialkan.
maka diferensial dari uv adalah
oleh karena (du)(dv) adalah "dapat diabaikan" (i.e. paling tidak kuadratis pada du dan dv), leibniz berkesimpula bahwa
dan ini merupakan bentuk diferensial dari kaidah darab.
jika kita membaginya dengan dx, kita mendapatkan
yang dapat ditulis dengan "notasi prima" sebagai
pembuktian kaidah darab
pembuktian yang cermat dari kaidah darab dapat diberikan menggunakan sifat-sifat limit dan definisi turunan sebagai limit dari hasil bagi beda newton.
dan f and g masing-masing terdiferensialkan pada bilangan tetap x.
adalah luas daerah persegi panjang besar dikurangi luas daerah persegi panjang kecil seperti yang digambarkan
kita ketahui bahwa daerah berbentuk-l di atas dapat dibagi lagi menjadi dua persegi panjang, maka jumlah daerah tersebut dapat ditulis:
(ilustrasi di atas tidak akan berlaku pada beberapa kasus khusus karena f(w) tidak seperlunya lebih besar dari f(x) dan g(w) tidak seperlunya lebih besar dari g(x).
walaupun begitu, persamaan (2) dan (3) dapat dievaluasi dengan mudah menggunakan aljabar.)
oleh karena itu, persamaan (1) adalah sama dengan
jika semua limit pada (5) ada, maka persamaan (4) sama dengan
karena f(x) tetaplah konstan ketika w  x;
karena g terdiferensialkan pada x;
karena f terdiferensialkan pada x;
karena g kontinu pada x (teorema lainnya mengatakan fungsi yang terdiferensialkan haruslah kontinu)
kita dapat berkesimpulan bahwa persamaan (5) sama dengan
pembuktian alternatif: menggunakan logaritma
misalkan f = uv dan u dan v adalah positif.
diferensialkan dua sisi:
kalikan sisi kiri dengan f dan sisi kanan dengan uv,
pembuktian ini dapat dilihat di . perlu diperhatikan bahwa karena u, v haruslah kontinu, asumsi positif tidak akan menghilangkan kerampatan (generality).
pembuktian ini bergantung pada kaidah rantai dan sifat-sifat fungsi logaritma natural.
pembuktian alternatif: menggunakan kaidah rantai
kaidah darab dapat dianggap sebagai kasus khusus dari kaidah rantai untuk beberapa variable.
hasil kali dari lebih dari dua faktor
kaidah darab dapat dirampatkan ke hasil kali yang memiliki lebih dari dua faktor.
misalkan untuk tiga faktor:
untuk sekumpulan fungsi :
turunan lebih tinggi
kaidah ini juga dapat dirampatkan menjadi kaidah leibniz untuk turunan lebih tinggi dari hasil kali dua faktor: jika y = uv dan y(n) menandakan turunan ke-n dari y, maka
lihat pula koefisien binomial dan teorema binomial yang mirip dengan perampatan ini.
turunan parsial lebih tinggi
untuk turunan parsial lebih tinggi:
dengan indeks s merupakan deret 2n dari subhimpunan dari {1, ..., n}.
misalkan n = 3:
kaidah darab pada ruang banach
jika x, y, dan z adalah ruang banach (yang meliputi ruang euclide) dan b : x  y  z adalah operator bilinear kontinu.
maka b terdiferensialkan dan turunannya pada titik (x,y) di x  y adalah peta linear d(x,y)b : x  y  z
turunan dalam aljabar abstrak
dalam aljabar abstrak, kaidah darab digunakan untuk mendefnisikan apa yang disebut sebagai turunan dan tidak sebaliknya.
untuk fungsi vektor
dalam fungsi vektor, kaidah darab akan berubah sedikit dikarenakan sifat antikomutatif pada hasil kali vektor.
, walaupun ini adalah benar pada perkalian skalar.
kaidah hasil bagi
kaidah timbal balik
turunan (aljabar abstrak)