Dosen Pengampu : Prof . Dr. Suhartono, M.Kom
Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Fakultas : Sains dan Teknologi
Jurusan : Teknik Informatika
Kelas : (C) Kalkulus
NIM : 230605110078
Turunan aljabar adalah konsep matematika yang memiliki berbagai penerapan dalam kehidupan sehari-hari. Meskipun mungkin terdengar abstrak, turunan aljabar digunakan dalam berbagai bidang, termasuk ilmu pengetahuan, teknologi, ekonomi, dan rekayasa. Berikut adalah beberapa contoh penerapan turunan aljabar dalam bidang Keilmuan :
Fisika dan Gerak:
Kecepatan dan Percepatan: Turunan dari posisi terhadap waktu memberikan kecepatan, dan turunan kedua memberikan percepatan. Ini penting dalam memahami gerakan benda.
Momentum: Dalam fisika, turunan momen terhadap waktu memberikan gaya yang bekerja pada benda.
Ekonomi:
Biologi:
Kimia:
Teknologi dan Rekayasa:
Desain dan Analisis Sirkuit: Dalam rekayasa elektronika, turunan digunakan untuk menganalisis sirkuit listrik dan mengoptimalkan desain.
Optimisasi Proses: Dalam rekayasa, turunan digunakan untuk mengoptimalkan berbagai proses, seperti pengendalian kualitas dan manajemen rantai pasok.
Ilmu Komputer:
Grafika Komputer: Dalam pembuatan grafik komputer, turunan digunakan untuk menghitung vektor normal permukaan untuk shading dan rendering.
Analisis Algoritma: Dalam analisis algoritma, turunan digunakan untuk mengukur kinerja dan kompleksitas waktu suatu algoritma.
Keuangan:
Disini penulis akan membahas penerapan turunan aljabar dalam bidang ilmu komputer terkait dengan analisis algoritma. Menanalisa sebuah jalannya algoritma yang berjalan dengan lancar dan tidak memakan waktu yang lama dalam menjalankan sebuah algoritma tersebut. Berikut merupakan contoh program sederhana yang dapat digunakan untuk memeriksa kompleksitas dari sebuah algoritma program menggunakan bahasa R :
# Fungsi contoh untuk analisis kompleksitas waktu
example_algorithm <- function(n) {
result <- 0
for (i in 1:n) {
result <- result + i
}
return(result)
}
# Fungsi untuk mengukur waktu eksekusi
measure_execution_time <- function(algorithm, input_size) {
start_time <- Sys.time()
algorithm(input_size)
end_time <- Sys.time()
execution_time <- end_time - start_time
return(execution_time)
}
# Contoh penggunaan
input_size <- 1000000
execution_time <- measure_execution_time(example_algorithm, input_size)
cat("Waktu eksekusi untuk input size", input_size, "adalah", execution_time, "detik\n")
## Waktu eksekusi untuk input size 1e+06 adalah 0.03892207 detik
library(Matrix)
# Fungsi untuk menghitung vektor normal permukaan
calculate_surface_normal <- function(surface_function, x, y, epsilon = 0.0001) {
# Turunan parsial terhadap x
df_dx <- (surface_function(x + epsilon, y) - surface_function(x - epsilon, y)) / (2 * epsilon)
# Turunan parsial terhadap y
df_dy <- (surface_function(x, y + epsilon) - surface_function(x, y - epsilon)) / (2 * epsilon)
# Hitung vektor normal
normal_vector <- normalize(c(df_dx, df_dy, -1))
return(normal_vector)
}
# Fungsi permukaan contoh (misalnya, permukaan kerucut)
cone_surface <- function(x, y) {
r <- sqrt(x^2 + y^2)
z <- sqrt(x^2 + y^2)
return(z)
}
# Fungsi untuk menormalkan vektor
normalize <- function(v) {
return(v / sqrt(sum(v^2)))
}
# Contoh penggunaan
x <- 1
y <- 2
normal_vector <- calculate_surface_normal(cone_surface, x, y)
cat("Vektor Normal pada titik (", x, ",", y, ") adalah:", normal_vector, "\n")
## Vektor Normal pada titik ( 1 , 2 ) adalah: 0.3162278 0.6324555 -0.7071068
Pemanfaatan Turunan Aljabar dalam Bidang Ilmu Biologi Pemanfaatan Grafik dari Model Populasi dengan Menggunakan Turunan untuk Menggambarkan Laju Pertumbuhan Populasi.
library(ggplot2)
library(gridExtra)
## Warning: package 'gridExtra' was built under R version 4.3.2
library(dplyr)
##
## Attaching package: 'dplyr'
## The following object is masked from 'package:gridExtra':
##
## combine
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(knitr)
# Fungsi model populasi logistik
population_model <- function(t, K, r, N0) {
Nt <- K / (1 + ((K - N0) / N0) * exp(-r * t))
return(Nt)
}
# Derivatif fungsi model populasi logistik
population_derivative <- function(t, K, r, N0) {
dN_dt <- r * N0 * (K - N0) * exp(-r * t) / (K + (K - N0) * exp(-r * t))^2
return(dN_dt)
}
# Waktu simulasi
time <- seq(0, 10, by = 0.1)
# Parameter model populasi
K <- 1000 # Kapasitas lingkungan
r <- 0.1 # Laju pertumbuhan relatif
N0 <- 10 # Populasi awal
# Hitung nilai populasi pada setiap waktu
population_values <- sapply(time, function(t) population_model(t, K, r, N0))
# Hitung turunan (laju pertumbuhan populasi) pada setiap waktu
derivative_values <- sapply(time, function(t) population_derivative(t, K, r, N0))
# Membuat dataframe untuk ggplot
df <- data.frame(time = time, population = population_values, derivative = derivative_values)
# Plot populasi
pop_plot <- ggplot(df, aes(x = time, y = population)) +
geom_line() +
labs(title = "Model Populasi Logistik",
x = "Waktu",
y = "Populasi")
# Plot turunan (laju pertumbuhan)
derivative_plot <- ggplot(df, aes(x = time, y = derivative)) +
geom_line(color = "red") +
labs(title = "Laju Pertumbuhan Populasi",
x = "Waktu",
y = "Laju Pertumbuhan")
# Menampilkan kedua plot secara bersamaan
grid.arrange(pop_plot, derivative_plot, ncol = 1)
# Menampilkan tabel dari dataframe dengan kable
kable(df)
| time | population | derivative |
|---|---|---|
| 0.0 | 10.00000 | 0.0002500 |
| 0.1 | 10.09949 | 0.0002500 |
| 0.2 | 10.19995 | 0.0002499 |
| 0.3 | 10.30141 | 0.0002499 |
| 0.4 | 10.40386 | 0.0002498 |
| 0.5 | 10.50732 | 0.0002498 |
| 0.6 | 10.61180 | 0.0002497 |
| 0.7 | 10.71731 | 0.0002496 |
| 0.8 | 10.82386 | 0.0002495 |
| 0.9 | 10.93145 | 0.0002494 |
| 1.0 | 11.04010 | 0.0002492 |
| 1.1 | 11.14982 | 0.0002491 |
| 1.2 | 11.26061 | 0.0002489 |
| 1.3 | 11.37250 | 0.0002488 |
| 1.4 | 11.48548 | 0.0002486 |
| 1.5 | 11.59957 | 0.0002484 |
| 1.6 | 11.71478 | 0.0002482 |
| 1.7 | 11.83112 | 0.0002480 |
| 1.8 | 11.94861 | 0.0002478 |
| 1.9 | 12.06725 | 0.0002475 |
| 2.0 | 12.18705 | 0.0002473 |
| 2.1 | 12.30802 | 0.0002470 |
| 2.2 | 12.43018 | 0.0002467 |
| 2.3 | 12.55354 | 0.0002464 |
| 2.4 | 12.67810 | 0.0002461 |
| 2.5 | 12.80389 | 0.0002458 |
| 2.6 | 12.93091 | 0.0002455 |
| 2.7 | 13.05917 | 0.0002452 |
| 2.8 | 13.18868 | 0.0002448 |
| 2.9 | 13.31946 | 0.0002445 |
| 3.0 | 13.45153 | 0.0002441 |
| 3.1 | 13.58488 | 0.0002437 |
| 3.2 | 13.71954 | 0.0002433 |
| 3.3 | 13.85551 | 0.0002429 |
| 3.4 | 13.99281 | 0.0002425 |
| 3.5 | 14.13146 | 0.0002421 |
| 3.6 | 14.27145 | 0.0002416 |
| 3.7 | 14.41282 | 0.0002412 |
| 3.8 | 14.55556 | 0.0002407 |
| 3.9 | 14.69969 | 0.0002403 |
| 4.0 | 14.84523 | 0.0002398 |
| 4.1 | 14.99219 | 0.0002393 |
| 4.2 | 15.14059 | 0.0002388 |
| 4.3 | 15.29043 | 0.0002383 |
| 4.4 | 15.44172 | 0.0002378 |
| 4.5 | 15.59450 | 0.0002372 |
| 4.6 | 15.74876 | 0.0002367 |
| 4.7 | 15.90452 | 0.0002361 |
| 4.8 | 16.06179 | 0.0002356 |
| 4.9 | 16.22060 | 0.0002350 |
| 5.0 | 16.38095 | 0.0002344 |
| 5.1 | 16.54285 | 0.0002338 |
| 5.2 | 16.70633 | 0.0002332 |
| 5.3 | 16.87140 | 0.0002326 |
| 5.4 | 17.03807 | 0.0002320 |
| 5.5 | 17.20636 | 0.0002314 |
| 5.6 | 17.37629 | 0.0002307 |
| 5.7 | 17.54786 | 0.0002301 |
| 5.8 | 17.72109 | 0.0002294 |
| 5.9 | 17.89600 | 0.0002288 |
| 6.0 | 18.07261 | 0.0002281 |
| 6.1 | 18.25093 | 0.0002274 |
| 6.2 | 18.43097 | 0.0002267 |
| 6.3 | 18.61276 | 0.0002260 |
| 6.4 | 18.79630 | 0.0002253 |
| 6.5 | 18.98162 | 0.0002246 |
| 6.6 | 19.16874 | 0.0002239 |
| 6.7 | 19.35766 | 0.0002232 |
| 6.8 | 19.54840 | 0.0002225 |
| 6.9 | 19.74099 | 0.0002217 |
| 7.0 | 19.93543 | 0.0002210 |
| 7.1 | 20.13175 | 0.0002202 |
| 7.2 | 20.32997 | 0.0002194 |
| 7.3 | 20.53009 | 0.0002187 |
| 7.4 | 20.73214 | 0.0002179 |
| 7.5 | 20.93614 | 0.0002171 |
| 7.6 | 21.14211 | 0.0002163 |
| 7.7 | 21.35005 | 0.0002155 |
| 7.8 | 21.56000 | 0.0002147 |
| 7.9 | 21.77196 | 0.0002139 |
| 8.0 | 21.98596 | 0.0002131 |
| 8.1 | 22.20202 | 0.0002123 |
| 8.2 | 22.42015 | 0.0002114 |
| 8.3 | 22.64038 | 0.0002106 |
| 8.4 | 22.86271 | 0.0002098 |
| 8.5 | 23.08718 | 0.0002089 |
| 8.6 | 23.31380 | 0.0002081 |
| 8.7 | 23.54259 | 0.0002072 |
| 8.8 | 23.77358 | 0.0002064 |
| 8.9 | 24.00677 | 0.0002055 |
| 9.0 | 24.24219 | 0.0002046 |
| 9.1 | 24.47987 | 0.0002038 |
| 9.2 | 24.71981 | 0.0002029 |
| 9.3 | 24.96205 | 0.0002020 |
| 9.4 | 25.20660 | 0.0002011 |
| 9.5 | 25.45348 | 0.0002002 |
| 9.6 | 25.70272 | 0.0001993 |
| 9.7 | 25.95433 | 0.0001984 |
| 9.8 | 26.20834 | 0.0001975 |
| 9.9 | 26.46476 | 0.0001966 |
| 10.0 | 26.72363 | 0.0001957 |