Category Archives: Matematika

Rata-rata Aritmatik, Geometrik, dan Harmonik

Pagi ini saya menemukan sepasang kata baru dalam bahasa Inggris: geometric mean, yang dalam bahasa Indonesia diartikan sebagai rata-rata geometrik. Saya lalu mencari arti rata-rata geometrik ini dan menemukan bahwa rerata geometrik merupakan salah satu dari 3 macam rata-rata Pythagorian.

Ketiga rata-rata Pythagorian tersebut beserta definisinya adalah:
1. Rata-rata aritmatik

\displaystyle A(x_1, \ldots, x_n) = \frac{1}{n}(x_1 + \cdots + x_n)

2. Rata-rata geometrik
\displaystyle G(x_1, \ldots, x_n) = \sqrt[n]{x_1 \cdots x_n}

3. Rata-rata harmonik
\displaystyle H(x_1, \ldots, x_n) = \frac{n}{\frac{1}{x_1} + \cdots + \frac{1}{x_n}}

Rata-rata aritmatik mungkin sudah diperkenalkan pada bangku sekolah dasar, sedangkan kedua rata-rata lainnya, secara tidak langsung diperkenalkan di bangku pendidikan yang lebih tinggi.

Perbedaan nilai ketiganya terletak pada jenis data yang akan dicari nilai rata-ratanya. Rata-rata aritmatik dipakai untuk data-data yang umum atau general, contohnya rata-rata nilai sejumlah mahasiswa, rata-rata kedalaman sungai, atau rata-rata lama perjalanan dari kota A ke kota B.

Sedangkan rata-rata geometrik biasanya dipakai untuk data yang memiliki kualitas/berat (weight) yang berbeda di antara data-data tersebut. Umumnya data-data ini memiliki nilai batas minimum dan maksimum. Contohnya sekolah A memiliki range nilai siswa 0-100, sedangkan sekolah B memiliki range nilai 0-80. Jika kita ingin mencari nilai rata-rata siswa kedua sekolah tersebut, rata-rata aritmatika tidak akan bisa digunakan karena bobot nilai sekolah A akan memberikan nilai yang lebih besar dibanding sekolah B. Untuk kasus seperti ini, rerata geometrik umum digunakan.

Rata-rata harmonik digunakan untuk data yang berupa rate atau rasio. Contohnya adalah kecepatan (jarak per waktu), debit air (volume per waktu), tekanan (gaya per luas), dan data lainnya yang memiliki satuan rate. Misalkan mobil 1 berjalan dari kota A ke kota B dengan kecepatan 80 km/jam. Kemudian mobil 2 dengan jarak yang sama, dari kota A ke kota B, berjalan dengan kecepatan 60 km/jam. Rata-rata kecepatan kedua mobil tersebut adalah 68,57 km/jam dihitung dengan menggunakan rerata harmonik. Dalam kasus ini, nilai yang tetap adalah jarak. Jika nilai yang tetap adalah waktu, misalkan mobil 1 dan mobil 2 berjalan dalam waktu 1 jam dan jarak yang ditempuh berbeda, maka rata-rata kecepatan mobil dihitung dengan rerata aritmatik yang nilainya adalah 70 km/jam.

Dari ketiga rerata Pythagorian di atas, nilai yang paling kecil adalah rerata harmonik dan yang paling besar nilainya adalah rata-rata aritmatik, bisa dituliskan

\displaystyle H \leq G \leq A
.
Fungsi rerata lainnya adalah rata-rata Quadratik yang biasanya menangani data-data yang nilainya positif dan negatif.

Tanggal yang Sama di Tahun Depan

Hari ini adalah hari Jumat tanggal 11 Oktober 2013. Kira-kira tahun depan tanggal yang sama, 11 Oktober, hari apa ya?

Dulu waktu saya masih duduk di bangku SMP, setiap kali saya berulang tahun, saya selalu berpikir: tahun depan ulang tahunku hari apa ya? Itulah pertanyaan iseng yang mungkin sebagian orang pernah pikirkan. Saya pun melakukan hitung-hitungan sederhana. Solusinya pun ternyata sangat sederhana dan bisa dipraktekkan langsung.

Dalam 1 tahun, bukan tahun kabisat seperti tahun 2013, ada 365 hari yang dibagi ke dalam 12 bulan. Dalam 1 minggu terdapat 7 hari. Karena penamaan Senin hingga Minggu dilakukan dalam 7 hari, maka kita akan melakukan perhitungan hari dan minggu.

365 \; mod \; 7 \equiv 1\:

Perhitungan di atas menunjukkan sisa dari 365 dibagi 7 adalah 1. Artinya, dalam 1 tahun non kabisat akan ada kelebihan sisa 1 hari dalam tanggal yang sama di tahun depan. Dengan demikian, untuk mencari tau hari di tanggal yang sama di tahun depan, kita tinggal memajukan 1 hari ke depan.

Contohnya, jika hari ini adalah hari Jumat tanggal 11 Oktober 2013, maka tahun depan tanggal 11 Oktober 2014 (2014 adalah tahun non-kabisat) adalah hari Sabtu. Tanggal 11 Oktober 2015 adalah hari Minggu.

Bagaimana dengan tahun kabisat seperti tahun 2016? Khusus untuk tahun kabisat, kita harus memajukan 2 hari karena 1 tahun kabisat berjumlah 366 hari.

366 \; mod \; 7 \equiv 2

Dengan demikian, tanggal 11 Oktober 2016 akan jatuh pada hari Selasa :).

Rumus Tali Sepatu

Referensi utama: http://en.wikipedia.org/wiki/Shoelace_formula

Nama aslinya adalah Shoelace Formula atau jika diterjemahkan ke dalam bahasa Indonesia menjadi formula tali sepatu atau rumus tali sepatu. Rumus ini biasa digunakan untuk mencari luasan suatu area yang dibatasi oleh titik-titik yang membentuk sebuah poligon (banyak sisi). Para surveyor lapangan biasa menggunakan rumus sederhana ini.

7a85364ae671f99d2aac6f5cbccda344

Menariknya, meskipun rumusnya terlihat sangat tidak menarik, implementasi rumus ini bahkan bisa diajarkan di lingkungan anak SD (Sekolah Dasar). Tidak percaya? Coba saja lihat bagian Explanation di situs Wikipedia pada link di atas. Mengutip langsung dari Wikipedia pada saat tulisan ini dibuat, misalkan sebuah segitiga dengan koordinat (2,4), (3,−8), dan (1,2). Koordinat ini bebas ditentukan dan menyesuaikan dengan koordinat titik awal 0,0.
Karena ada 3 titik, kita membuat sebuah matriks koordinat x, y seperti di bawah ini dengan koordinat paling akhir adalah koordinat paling awal. Dalam kasus ini, koordinat paling atas dan bawah adalah 2,4.

b611a73a6bfd235edb02c9df3f124079

Lalu kita membuat sebuah garis diagonal dari kiri ke kanan seperti gambar di bawah ini kemudian mengalikan bilangan-bilangan yang berpasangan lalu menjumlahkannya: (2 × −8) + (3 × 2) + (1 × 4) = −6

ShoelaceMatrix2

Dengan cara yang sama, buatlah pasangan diagonal dari kanan ke kiri seperti gambar di bawah ini lalu mengalikan bilangan-bilangan tersebut dan menjumlahkannya: (4 × 3) + (−8 × 1) + (2 × 2) = 8

ShoelaceMatrix3

Perhatikan gambar di atas mirip dengan bentuk tali sepatu 🙂

Dengan demikian luas area segitiga adalah hasil yang diperoleh dari perhitungan pertama dikurangi dengan hasil yang kedua lalu dibagi 2: |-6 – 8|/2 = 14/2 = 7.

Menghitung Diameter Saluran Pipa

Ini adalah salah satu pertanyaan random ujian masuk ke SMA saya dulu, hanya angka-angkanya saja yang diganti. Bayangkan saya mempunyai sebuah pipa seperti gambar di bawah ini.

 Pipa

Misalkan kedalaman air di dalam pipa (t2) adalah 50 cm. Lebar air (m1+m2) adalah 3 meter. Berapakah diameter saluran pipa?

Soal ini bisa diselesaikan dengan menggunakan rumus yang dipelajari di SMP. Jika ada sebuah lingkaran dan 2 buah garis sembarang di dalam nya, maka hasil kali nilai sisi-sisi yang berseberangan oleh titik potong kedua garis adalah sama.

t_1 * t_2 = m_1 * m_2

Dalam soal di atas m1 = m2, maka:

  t_1 * t_2 = m_1 * m_2
t_1 * 0.5 = 1.5 * 1.5
t_1 = 4.5

Dengan demikian tinggi pipa (t1+t2) adalah 0,5 m + 4.5 m = 5 meter.

Momen Inersia (Momen Area Orde 2) untuk Sembarang Bentuk dalam Pemrograman C

Untuk mencari nilai nilai inersia sebuah penampang, saya lebih sering menggunakan cara langsung dengan menggunakan integral atau menggunakan tabel jika bentuknya regular. Bentuk umum untuk menentukan nilai momen inersia diberikan dalam bentuk integrasi berikut.

\displaystyle I_{xx}=\int y^{2}dA

\displaystyle I_{yy}=\int x^{2}dA

Namun untuk bentuk polinomial, bentuk integral di atas sangat susah dikerjakan, apalagi jika menggunakan hitungan manual dengan tangan, pasti akan lama mendapatkan nilainya. Dengan bantuan komputer dan analisis metode numerik, momen inersia berbagai bentuk bisa dicari. Saya menemukan ada 2 cara numerik yang bisa dipakai untuk kasus ini.

Bentuk numerik pertama yang saya ambil dari paper Design of biaxially loaded short RC columns

of arbitrary cross section diberikan dalam bentuk berikut:

\displaystyle I_{xx}=-\frac{1}{12}\sum_{i=1}^{n}(x_{i+1}-x_{i})(y_{i+1}+y_{i})(y_{i+1}^{2}+y_{i}^{2})
\displaystyle I_{yy}=\frac{1}{12}\sum_{i=1}^{n}(y_{i+1}-y_{i})(x_{i+1}+x_{i})(x_{i+1}^{2}+x_{i}^{2})

Bentuk numerik kedua yang diambil dari Wikipedia diberikan dalam bentuk berikut. Bentuk numerik di bawah ini sudah saya modifikasi sedikit karena pada saat penulisan ini, ada kesalahan bentuk yang diberikan di Wikipedia.

\displaystyle I_{xx}=\frac{1}{12}\sum_{i=1}^{n}(y_{i}^{2}+y_{i}y_{i+1}+y_{i+1}^{2})a_{i}
\displaystyle I_{yy}=\frac{1}{12}\sum_{i=1}^{n}(x_{i}^{2}+x_{i}x_{i+1}+x_{i+1}^{2})a_{i}
a_{i}=x_{i}y_{i+1}-x_{i+1}y_{i}

Dengan jumlah nodal (titik) polinomial sebanyak n, maka momen inersia bentuk apapun bisa dicari. Jika bentuk yang dicari membentuk kurva, garis kurva bisa dipecah menjadi beberapa elemen polinomial. Keakuratan hasil tergantung dari banyak elemen yang membentuk kurva tersebut. Yang perlu diperhatikan dari kedua bentuk di atas adalah pada saat nilai i=n, maka nilai i+1 kembali ke nilai i=1 atau ke titik awal. Hal lain yang perlu juga diperhatikan adalah garis polinomial yang dibentuk tidak boleh berpotongan agar hasil yang diperoleh bersifat valid. Selain itu koordinat titik perlu diperhatikan. Meskipun bentuk polinomialnya sama, namun jika diletakkan pada koordinat yang berbeda pada sumbu Cartesian, maka hasilnya juga akan berbeda. Umumnya di dalam teknik sipil, pusat sumbu O adalah titik pusat bidang yang kita tinjau tersebut. Tapi saya belum memasukkan perhitungan untuk mencari titik pusat bidang dalam program di bawah 😆

Untuk bentuk pertama, program dalam C diberikan dalam potongan kode berikut.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*
    Metode 1
*/
#include <stdio.h>
#include <math.h>
 
int main(){
    float x[200];
    float y[200];
    float total=0, a=0;
    float inertiaX=0, inertiaY=0;
    int i, n, p;
 
    // Init information
    printf("Total nodes (point): ");
    scanf("%i", &n);
 
    // Nodal Coordinat x,y
    for(i=0; i<n; i++){
        printf("Nodal number %i : ", i);
        scanf("%f", &x[i]);
        scanf("%f", &y[i]);
    }
 
 
    // Second moment area X
    for(i=0; i<n; i++){
        p = (i==n-1)?(0):(i+1);
        total = total + ( (x[p]-x[i]) * (y[p]+y[i]) * (pow(y[p],2)+pow(y[i],2)) );
    }
    inertiaX = -total / 12;
 
    // Second moment area Y
    total = 0;
    for(i=0; i<n; i++){
        p = (i==n-1)?(0):(i+1);
        total = total + ( (y[p]-y[i]) * (x[p]+x[i]) * (pow(x[p],2)+pow(x[i],2)) );
    }
    inertiaY = total / 12;
 
 
    printf("\n");
    printf("Momen xx: %f\n", inertiaX);
    printf("Momen yy: %f", inertiaY);
}

Untuk bentuk kedua diberikan dalam potongan kode berikut.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/*
    Metode 2
*/
#include <stdio.h>
#include <math.h>
 
int main(){
    float x[200];
    float y[200];
    float total=0, a=0;
    float inertiaX=0, inertiaY=0;
    int i, n, p;
 
    // Init information
    printf("Total nodes (point): ");
    scanf("%i", &n);
 
    // Nodal Coordinat x,y
    for(i=0; i<n; i++){
        printf("Nodal number %i : ", i);
        scanf("%f", &x[i]);
        scanf("%f", &y[i]);
    }
 
 
    // Second moment area X
    for(i=0; i<n; i++){
        p = (i==n-1)?(0):(i+1);
        a = x[i]*y[p] - x[p]*y[i];
        total = total + ( pow(y[i],2) + y[i]*y[p] + pow(y[p],2) ) * a;
    }
    inertiaX = total / 12;
 
    // Second moment area Y
    total = 0;
    for(i=0; i<n; i++){
        p = (i==n-1)?(0):(i+1);
        a = x[i]*y[p] - x[p]*y[i];
        total = total + ( pow(x[i],2) + x[i]*x[p] + pow(x[p],2) ) * a;
    }
    inertiaY = total / 12;
 
 
    printf("\n");
    printf("Momen xx: %f\n", inertiaX);
    printf("Momen yy: %f", inertiaY);
}

Soal Matematika

Di bawah ini adalah sebuah contoh soal olimpiade matematika SMA yang pernah saya lihat di sebuah buku. Hitunglah nilai x dari persamaan tak berhingga berikut.

x = 1 + \frac{1}{1+\frac{1}{1+\frac{1}{1+\frac{1}{..}}}}

Kelihatannya sulit untuk dikerjakan, tapi ternyata cara pengerjakannya sangat sederhana. Jika diperhatikan, soal di atas dapat disederhanakan menjadi persamaan di bawah ini. Coba deh, nilai x pada ruas kanan pada 1/x persamaan 2 di bawah ini diganti dengan nilai x pada persamaan itu sendiri, pasti akan diperoleh persamaan di atas dengan bentuk persamaan yang tak berkesudahan.

x = 1 + \frac{1}{x}
x^{2}-x-1=0

Dengan mendapatkan penyederhanaan bentuk persamaan, maka dengan rumus A, B, C, kita bisa memperoleh nilai x.

x_{1} = \frac{1+\sqrt{5}}{2}
x_{2} = \frac{1-\sqrt{5}}{2}

Daftar Aplikasi Matematis Gratis

Saya sebagai seorang mahasiswa bidang teknik, tidak lepas dari perhitungan matematis dan segala kegiatan matematis lainnya. Software berkualitas bagus pun banyak dijual di pasaran untuk mempermudah kita dalam melakukan pekerjaan di bidan teknik kita tadi. Namun, untuk ukuran mahasiswa, kita terpaksa memakai aplikasi bajakan agar bisa belajar dengan software tadi. Sebut saja Matlab, tentu seorang mahasiswa teknik akan belajar aplikasi ini. Namun siapa yang tahu, jika ternyata ada aplikasi yang memiliki fungsi sama dengan Matlab, namun bedanya software tadi tidak perlu dibeli. Nama aplikasi tadi adalah GNU Octave. Berikut ini adalah daftar beberapa aplikasi yang bisa dipakai secara gratis :

  1. GNU Octave (http://www.gnu.org/software/octave/) adalah software yang dilengkapi dengan bahasa pemrograman tingkat tinggi yang berguna untuk proses komputasi numerik. GNU Octave hampir sama dengan Matlab, menggunakan interface command line di mana kita bisa melakukan perhitungan di konsol tadi dan bisa melakukan operasi seperti pembuatan grafik, dll. Kita bisa membuat aplikasi yang jika ditulis dengan hati-hati di GNU Octave, maka akan bisa pula dijalankan di Matlab. (wikipedia)
  2. Scilab (http://www.scilab.org/) sama seperti GNU Octave dan Matlab. Berguna untuk proses komputasi numerik. Scilab bisa digunakan untuk proses analisis statistik, simulasi dinamika fluida, optimasi numerik, dan berbagai modeling lainnya. (wikipedia)
  3. R (http://www.r-project.org/) adalah sebuah bahasa pemrograman yang dapat membantu dalam pekerjaan visualisasi dan komputasi statistik dan data analisis. (wikipedia)
  4. Sage (http://www.sagemath.org/), memiliki fitur yang lengkap seperti Mathematica. Aplikasi ini bisa melakukan perhitungan aljabar, kalkulus, kombinatorik. Selain dapat menggantikan Mathematica, aplikasi ini juga memiliki fitur dalam aplikasi Maple. (wikipedia)
  5. PLplot (http://plplot.sourceforge.net/). Aplikasi yang telah disebutkan di atas, memiliki fasilitas pembuatan grafis untuk setiap fungsi dan data yang diberikan. Jika kamu berniat ingin membuat grafik melalui bahasa pemrograman, kamu bisa menggunakan library ini. Library ini bisa dipakai di banyak bahasa, mulai dari C/C++, Fortran, Python, Ada, Java, dan TCL. (wikipedia)

GNU Octave

SciLab

PLplot

Oke, cukup itu saja dulu, jika saya menemukan aplikasi lain yang bermanfaat, akan saya tambahkan di daftar ini 🙂

Persegi Ajaib

Pasti kamu sudah pernah dikasih pertanyaan seperti ini: coba isi persegi 3×3 dengan angka 1-9 dengan syarat jumlah angka-angka vertikal, horizontal, dan diagonal harus sama nilainya.

Jika kamu sebelumnya pernah jawab, jawabannya mungkin seperti di bawah ini:

Coba perhatikan angka-angka pada persegi di atas, jumlah angka-angka pada kolom vertikal dan baris horizontal serta jumlah angka-angka diagonal akan berjumlah sama yaitu 15.

Saya akan tantang teman-teman untuk pertanyaan yang lebih sulit, bagaimana kalau perseginya berukuran 5×5? Bagaimana teman-teman bisa menyusun angka 1-25 agar jumlah vertikal, horizontal, dan diagonal sama nilainya? Kelihatannya agak sulit untuk menjawab pertanyaan seperti ini. Persegi ajaib ini saya ketahui dari sebuah buku (saya lupa nama bukunya) ketika saya masih SMP (atau SD(?)). Seorang ahli matematika menemukan sebuah aturan agar sebuah persegi dengan ukuran nxn bisa diisi dengan angka yang jumlah angkanya sama pada garis vertikal, horizontal, dan diagonal, dengan n adalah angka ganjil. Kalo teman-teman tau nama ahli matematika tersebut, kamu bisa menyebutkannya di bagian komentar 😀

Oke, untuk persegi 5×5 teman-teman bisa lihat gambar di bawah ini:

Total angka-angkanya kalo dijumlahin vertikal adalah 65.

Bagaimana caranya agar bisa menyusun angka-angka tersebut dengan cepat? Yang perlu diingat dan diperhatikan adalah konsep “diagonal ke kanan atas, kalo mentok turun 1 kotak”. Syarat yang lain adalah, angka 1 harus berada di paling atas dan tengah dari persegi (lihat gambar di atas).

Kita mulai dari langkah pertama:

Kita harus membuat persegi 5×5 lalu membuat persegi “virtual” di sekeliling persegi yang sebenarnya kita pakai. Persegi virtual ditandai dengan kotak-kotak bergaris-garis putus. Kita meletakkan angka 1 di tengah atas persegi.

Ingat prinsip yang tadi saya sebutkan “diagonal ke kanan atas”. Berarti angka 2 akan berada di kotak “virtual”, nah bayangkan jika angka 2 itu bukan di kotak virtual, namun berada di kotak kita yang sebenarnya, kira-kira di mana letak angka 2 tersebut? Yak, di kolom kedua dari kanan dan berada paling bawah. Angka 2 akan berada di sana. Kotak virtual hanya membantu kita agar mempermudah imajinasi kita di mana letak lokasi angka 2.

Kita gunakan prinsip yang tadi lagi “digonal ke kanan atas”. Dari angka 2, kita letakkan angka 3 di sebelah kanan atas angka 2. Angka 4 berada di sebelah kanan atas angka 3. Nah, karena angka 4 berada di kotak virtual, kita memindahkannya di sebelah kiri dari kotak kita yang sebenarnya. Lalu angka 5 di sbelah kanan atas dari angka 4. Untuk angka 6, kita tidak bisa meletakkannya lagi di sebelah kanan atas angka 5 karena kotak tersebut sudah diisi oleh angka 1. Di sini kita gunakan prinsip “jika mentok, turun 1 kotak”. Jadi angka 6 berada di bawah angka 5. Angka 7,8, dan 9 diisi dengan prinsip pertama tadi “diagonal ke kanan atas”.

Bilangan 10 berada di kotak virtual, lalu kita pindahkan ke kotak sebenarnya. Bilangan 11 diletakkan di bawah angka 10 karena sudah ada angka 6 di sebelah kanan bilangan 10. Bilangan 12, 13, 14, 15 ditulis seperti prinsip pertama. Untuk bilangan 16, kita tidak bisa menuliskannya di kanan atas karena sudah diisi oleh bilangan 11, kita menurunkannya ke bawah. Lanjutkan proses ini hingga selesai.

Untuk memastikan apakah pekerjaan kita sudah benar atau tidak, kita bisa mengecek bilangan 1 dan bilangan terakhir (dalam kasus ini bilangan 25). Bilangan 1 akan berada di atas dan bilangan terakhir akan berada di bawah pada kolom tengah.

Kalo kamu sudah lancar, kamu tidak perlu lagi bantuan persegi virtual tersebut. Penasaran dengan persegi 7×7? Coba praktikkan sendiri 😀