Suicide or Murdered? Contoh Aplikasi Model Mekanistik Menggunakan R untuk Masalah Forensik

Hadi Suryo
Math Adventurer
Published in
7 min readApr 1, 2018
sumber: coda-craven.org

Bayangkan, kamu seorang data scientist/data analyst/math nerd. Kamu bekerja di sebuah perusahaan yang bergerak di bidang teknologi transportasi yang tidak mempunyai alat transportasi (hmm that’s weird…). Saat itu kamu berjalan kaki pulang dari kantor menuju apartemen yang tidak begitu jauh. Tidak lama setelah sampai di apartemen, kamu menemukan sosok tak bernyawa tergeletak tidak jauh dari gedung apartemen berlantai 10 tersebut dengan kondisi kepala *beeeeppp* dan badannya bermandikan *beeppppp*. Kamu terdiam, matamu menatap kosong. What…. the…. *beeeeppppp*!!!! Katamu dalam hati.

*Reaksi kamu*

Kamu berfikir keras, apa yang terjadi dengan mayat ini. Jelas dia tidak mungkin mati karena pukulan benda tumpul, dapat dilihat dari kondisi badannya tidak ditemukan bekas lebam karena dipukul. Bukan juga karena mati karena tembakan, dilihat dari luka kepala korban yang cukup ekstrem. Kemungkinan terbesarnya adalah korban mungkin jatuh dari apartemen. Tapi kamu gak menemukan ada jendela kamar yang terbuka, dan lagipula apartemen tersebut tidak punya balkon. Jadi kemungkinan besar korban jatuh dari puncak bangunan. Tapi ini menjadi pertanyaan lain: apakah ia bunuh diri? Atau dia dibunuh?

Kamu teringat bahwa jika seseorang melompat dari suatu titik ke titik yang lain, maka gerakannya akan mengikuti lintasan parabola. Tiba-tiba kamu teringat dengan materi dan rumus gerak parabola dari buku fisika Marthen Kanginan.

Mimpi buruk setiap anak SMP sampai SMA

Gerak parabola dapat dirumuskan sebagai berikut:

Dengan y₀ adalah posisi awal dalam sumbu-y, sedangkan y adalah posisi akhir dalam sumbu-y, v₀ adalah kecepatan awal, x adalah posisi dalam sumbu-x, t adalah waktu, g adalah percepatan gravitasi dan α adalah sudut.

Perhatikan bahwa kita nggak tau berapa lama dia jatuh. Bisa aja kita playing Galileo, lempar sesuatu dari gedung lalu hitung waktu berapa lama benda itu sampai di tanah. But, someone dies, and you Galileo-ing from above? Maka alternatif lainnya adalah kita harus menghilangkan t dalam persamaan tersebut. So, let’s play with the equation while someone dies in front of you:

dengan H = y₀ -y, yang bisa dikaitkan dengan ketinggian bangunan Kalikan persamaan diatas dengan 2, diperoleh

Jika diperhatikan, persamaan diatas mirip dengan persamaan kuadrat, if you even remembered, jadi kita bisa menyelesaikannya dengan memfaktorkan atau dengan menggunakan rumus ABC:

Maka persamaan diatas dapat diubah menjadi

It solved with ‘magic’, and some grit.

Hmm, ada plus dan minus, mana yang harus diambil? Jika dilihat operator plus lebih tepat karena operator negatif mengakibatkan nilai t menjadi negatif, and we don’t want to break physics, yet. Jadi kita ambil nilai t positif. Nilai ini disubtitusikan ke dalam rumus x, sehingga diperoleh:

dengan sedikit kerja keras, kita dapat memperoleh

Dengan mengetahui bahwa 2 sin(α) cos(α) = sin 2(α), maka:

Jadi, apa yang kita butuhkan untuk menyelesaikan masalah ini? Percepatan gravitasi g adalah 9,8 m/s², H bisa diperoleh dengan mengukur ketinggian bangunan, namun bagaimana dengan nilai α dan v₀?

Berdasarkan paper berjudul Forensic Science 101: Falls from a height oleh Rod Cross, berdasarkan eksperimen yang telah dilakukan, diperoleh data berikut:

Kecepatan lompat rata-rata dengan ancang-ancang 1–2 langkah: 2–3 m/s

Kecepatan lompat dari posisi berdiri: 0,5 m/s

Kecepatan dorongan: 1,5 m/s

Sudut optimum lompat jarak jauh dari posisi berdiri: 20⁰ -25⁰

Sudut minimum lompat dari posisi berdiri: 15⁰

Sudut minimum ketika didorong: 1⁰ — 5⁰

Dengan data-data tersebut kita bisa membuat dua skenario. Oh tentu saja karena kita menggunakan R untuk analisis ini:

deathDistance = function(alpha,v,h) {
alphaRad = alpha*pi/180
g = 9.8
x = (v^2*sin(2*alphaRad)/(2*g))*( 1 + sqrt( 1 + ((2*g*h)/(v^2*(sin(alphaRad))^2))))
return(x)
}

Untuk memakai fungsi itu, bisa dengan cara:

deathDistance(alpha = sudut_dalam_derajat, v = kecepatan_dalam_m/s, h = ketinggian_dalam_meter)
# contoh
deathDistance(alpha = 15,v = 0.5,h = 46)

Untuk melihat plot dari gerak parabola, bisa menggunakan fungsi berikut:

parabolic = function(alpha,v,h,detail = 0.05) {
alphaRad = alpha*pi/180
g = 9.8
t = (v*sin(alphaRad)+sqrt( (v*sin(alphaRad))^2 + 2*g*h ))/g
timeParameter = seq(0,t,detail)
x = v*cos(alphaRad)*timeParameter
y = y0 + v*sin(alphaRad)*timeParameter - 0.5*g*timeParameter^2

for (i in 1:length(y)) {
if (y[i] < 0) {
y[i] = 0
}
}
plot(x,y,type = "b",xlab = "jarak", ylab = "ketinggian")
return(data.frame(time = timeParameter, distance = x, height = y))
}

Fungsi diatas dapat digunakan dengan cara:

parabolic(alpha = 20,v = 2,h = 46,detail = 0.01)

Semakin kecil nilai detailnya, semakin akurat nilainya. Misalnya dengan mengambil nilai alpha = 20 derajat, v = 2 m/s, dan h = 46 meter, detail = 0.05, maka:

> parabolic(alpha = 20,v = 2,h = 46,detail = 0.05)
time distance height
1 0.00 0.00000000 46.000000
2 0.05 0.09396926 46.021952
3 0.10 0.18793852 46.019404
4 0.15 0.28190779 45.992356
5 0.20 0.37587705 45.940808
6 0.25 0.46984631 45.864760
7 0.30 0.56381557 45.764212
8 0.35 0.65778483 45.639164
9 0.40 0.75175410 45.489616
10 0.45 0.84572336 45.315568
11 0.50 0.93969262 45.117020
12 0.55 1.03366188 44.893972
13 0.60 1.12763114 44.646424
14 0.65 1.22160041 44.374376
15 0.70 1.31556967 44.077828
16 0.75 1.40953893 43.756780
17 0.80 1.50350819 43.411232
18 0.85 1.59747746 43.041184
19 0.90 1.69144672 42.646636
20 0.95 1.78541598 42.227588
21 1.00 1.87938524 41.784040
22 1.05 1.97335450 41.315992
23 1.10 2.06732377 40.823444
24 1.15 2.16129303 40.306396
25 1.20 2.25526229 39.764848
26 1.25 2.34923155 39.198800
27 1.30 2.44320081 38.608252
28 1.35 2.53717008 37.993204
29 1.40 2.63113934 37.353656
30 1.45 2.72510860 36.689608
31 1.50 2.81907786 36.001060
32 1.55 2.91304712 35.288012
33 1.60 3.00701639 34.550464
34 1.65 3.10098565 33.788416
35 1.70 3.19495491 33.001868
36 1.75 3.28892417 32.190821
37 1.80 3.38289343 31.355273
38 1.85 3.47686270 30.495225
39 1.90 3.57083196 29.610677
40 1.95 3.66480122 28.701629
41 2.00 3.75877048 27.768081
42 2.05 3.85273975 26.810033
43 2.10 3.94670901 25.827485
44 2.15 4.04067827 24.820437
45 2.20 4.13464753 23.788889
46 2.25 4.22861679 22.732841
47 2.30 4.32258606 21.652293
48 2.35 4.41655532 20.547245
49 2.40 4.51052458 19.417697
50 2.45 4.60449384 18.263649
51 2.50 4.69846310 17.085101
52 2.55 4.79243237 15.882053
53 2.60 4.88640163 14.654505
54 2.65 4.98037089 13.402457
55 2.70 5.07434015 12.125909
56 2.75 5.16830941 10.824861
57 2.80 5.26227868 9.499313
58 2.85 5.35624794 8.149265
59 2.90 5.45021720 6.774717
60 2.95 5.54418646 5.375669
61 3.00 5.63815572 3.952121
62 3.05 5.73212499 2.504073
63 3.10 5.82609425 1.031525

Dan fungsi tersebut akan mem-plot otomatis grafik berikut:

Don’t have a time for ggplot. Someone dies and you distracted by color scheme?

Skenario 1: Bunuh diri 1

Misalkan seseorang berdiri di sebuah bangunan dengan tinggi bangunan sekitar 46 meter dengan landasan cukup lebar sehingga memungkinkan orang tersebut untuk melakukan 1–2 langkah sebelum melompat. Berarti kecepatan lompat rata-ratanya sekitar 2–3 m/s dan sudut lompat optimum 20⁰ — 25⁰. Dari hasil pengolahan data diperoleh sebagai berikut:

Jika v₀ sekitar 2 m/s dan α sekitar 20⁰: 5,891007 meter

Jika v₀ sekitar 2 m/s dan α sekitar 25⁰: 5,712289 meter

Jika v₀ sekitar 3 m/s dan α sekitar 20⁰: 8,937697 meter

Jika v₀ sekitar 3 m/s dan α sekitar 25⁰: 8,689808meter

Dari hasil diatas diperoleh parameter jaraknya antara 5,71 meter —8,94 meter.

Skenario 2: Bunuh Diri 2

Misalkan seseorang berdiri di sebuah bangunan dengan tinggi bangunan sekitar 46 meter, diasumsikan orang tersebut melompat tanpa ancang-ancang, sehingga. Berarti kecepatan lompat rata-ratanya sekitar 0,5 m/s dan sudut lompat optimum 15⁰. Dari hasil pengolahan data diperoleh sebagai berikut:

Jika v₀ sekitar 0,5 m/s dan α sekitar 15⁰: 1,486163 meter

Skenario 3: Dibunuh

Misalkan seseorang berdiri di sebuah bangunan dengan tinggi bangunan sekitar 46 meter dengan landasan cukup sempit sehingga tidak memungkinkan orang tersebut untuk melompat sambil berlari. Berarti kecepatan dorongan rata-ratanya sekitar 1,5 m/s dan sudut lompat ketika didorong sekitar 1⁰-5⁰. Dari hasil pengolahan data diperoleh sebagai berikut:

Jika v₀ 1,5 m/s dengan α sekitar 1⁰: 4.599225 meter

Jika v₀ 1,5 m/s dengan α sekitar 5⁰: 4.598405 meter

Dari hasil diatas diperoleh parameter jaraknya antara 4,598 meter — 4,599 meter.

Dengan menggunakan kedua parameter dan membandingkannya dengan jarak antara gedung dengan mayat korban, bisa diinterpretasikan apakah korban meninggal karena bunuh diri atau dibunuh. Misalnya korban ditemukan dengan jarak sekitar 8 meter dari gedung, maka bisa dikatakan dia bunuh diri.

Pesan ‘moral’: Jadi, sebelum berangkat kerja siapkan penggaris atau meteran, teodolit (untuk mengukur ketinggian gedung), dan kalkulator saintifik, siapa tau kamu menemukan mayat disekitar gedung terdekat. Saran lainnya: just call the police, it’s their job, you’re not Charlie from NUMB3RS.

--

--

Hadi Suryo
Math Adventurer

A statistical consultant at StatsMaster and Data Scientist BI at Bukalapak. Meet him at hadimaster65555.github.io