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


Pengertian Turunan Aljabar dan Penerapannya dalam Kehidupan Sehari - Hari

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 :

  1. 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.

  2. Ekonomi:

    • Marginal Cost dan Pendapatan Marginal: Turunan fungsi biaya total terhadap jumlah produk memberikan biaya marginal, sementara turunan pendapatan total memberikan pendapatan marginal. Pada titik di mana biaya marginal sama dengan pendapatan marginal, laba maksimum dicapai.
  3. Biologi:

    • Model Populasi: Dalam studi populasi, turunan digunakan untuk menggambarkan laju pertumbuhan populasi dan perubahan dalam waktu.
  4. Kimia:

    • Laju Reaksi: Dalam kimia, turunan digunakan untuk mengevaluasi laju perubahan konsentrasi suatu zat terhadap waktu dalam reaksi kimia.
  5. 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.

  6. 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.

  7. Keuangan:

    • Manajemen Risiko: Dalam keuangan, turunan digunakan untuk mengukur volatilitas dan risiko dalam portofolio investasi.


Contoh Program Sederhana yang Berhubungan dengan Bidang Ilmu Komputer - Analisis Algoritma

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

Contoh Grafik dari Model Populasi yang Berhubungan dengan Bidang Ilmu Biologi

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