Rabu, 08 Maret 2017

Komputasi Jumlah dan Selisih Dua Buah Matriks Menggunakan Bahasa Pemrograman C++


Dua buah matriks yang akan dikenai operasi penjumlahan dan pengurangan haruslah berukuran sama. Dua buah matriks dikatakan memiliki ukuran yang sama jika dan hanya jika jumlah baris matriks pertama sama dengan jumlah baris matriks kedua dan jumlah kolom matriks pertama sama dengan jumlah kolom matriks kedua.

Matriks $\mathbf{A}$ berukuran $3 \times 3$:
\begin{align}
\mathbf{A} = \begin{bmatrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23} \\
a_{31} & a_{32} & a_{33}
\end{bmatrix} \label{matriksA}
\end{align}
dan matriks $\mathbf{B}$ berukuran $3 \times 3$:
\begin{align}
\mathbf{B} = \begin{bmatrix}
b_{11} & b_{12} & b_{13} \\
b_{21} & b_{22} & b_{23} \\
b_{31} & b_{32} & b_{33}
\end{bmatrix} \label{matriksB}
\end{align}
Jika matriks $\mathbf{C}= \mathbf{A} + \mathbf{B}$ maka elemen-elemen matriks $\mathbf{C}$ dapat dicari dengan cara:
\begin{align}
c_{11} &= a_{11} + b_{11} \notag \\
c_{12} &= a_{12} + b_{12} \notag \\
c_{13} &= a_{13} + b_{13} \notag \\
c_{21} &= a_{21} + b_{21} \notag \\
c_{22} &= a_{22} + b_{22} \label{matriksC} \\
c_{23} &= a_{23} + b_{23} \notag \\
c_{31} &= a_{31} + b_{31} \notag \\
c_{32} &= a_{32} + b_{32} \notag \\
c_{33} &= a_{33} + b_{33} \notag
\end{align}
Jika matriks $\mathbf{D}= \mathbf{A} - \mathbf{B}$ maka elemen-elemen matriks $\mathbf{D}$ dapat dicari dengan cara:
\begin{align}
d_{11} &= a_{11} - b_{11} \notag \\
d_{12} &= a_{12} - b_{12} \notag \\
d_{13} &= a_{13} - b_{13} \notag \\
d_{21} &= a_{21} - b_{21} \notag \\
d_{22} &= a_{22} - b_{22} \label{matriksD} \\
d_{23} &= a_{23} - b_{23} \notag \\
d_{31} &= a_{31} - b_{31} \notag \\
d_{32} &= a_{32} - b_{32} \notag \\
d_{33} &= a_{33} - b_{33} \notag
\end{align}

Dengan menggunakan ($\ref{matriksC}$) dan ($\ref{matriksD}$), kita akan membuat sebuah program untuk mencari jumlah dan selisih dua buah matriks. Karena dalam dunia komputasi, setiap elemen dua buah matriks yang akan dicari jumlah dan selisihnya harus diketahui nilainya maka kita terlebih dahulu beri nilai tiap elemen kedua matriks yang terdapat dalam ($\ref{matriksA}$) dan ($\ref{matriksB}$), yaitu:
\begin{align}
\mathbf{A} &= \begin{bmatrix}
3 & -1 & 4 \\
5 & 0 & 2 \\
8 & 9 & 4
\end{bmatrix} \label{nilaiA} \\
\mathbf{B} &= \begin{bmatrix}
3 & 8 & 1 \\
0 & 4 & -5 \\
-2 & 3 & 3
\end{bmatrix} \label{nilaiB}
\end{align}

Script Dasar


Pada bagian ini, kita akan langsung memasukkan rumus yang ada dalam ($\ref{matriksC}$) dan ($\ref{matriksD}$) ke dalam program dan tanpa menggunakan loop.

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include<iostream>
#include<cmath>
using namespace std;

int main()
{
 int A[10][10], B[10][10], C[10][10], D[10][10];
    cout << "\n===============================================";
    cout << "\n             ASRI FISIKA 12 UNHAS              ";
    cout << "\n        JUMLAH DAN SELISIH 2 MATRIKS           ";
    cout << "\n         MAKASSAR, 15 DESEMBER 2016            ";
    cout << "\n===============================================";
    cout << endl;
    // Inisialisasi matriks A
    A[0][0] = 3;
    A[0][1] = -1;
    A[0][2] = 4;
    A[1][0] = 5;
    A[1][1] = 0;
    A[1][2] = 2;
    A[2][0] = 8;
    A[2][1] = 9;
    A[2][2] = 4;
    // Inisialisasi matriks B
    B[0][0] = 3;
    B[0][1] = 8;
    B[0][2] = 1;
    B[1][0] = 0;
    B[1][1] = 4;
    B[1][2] = -5;
    B[2][0] = -2;
    B[2][1] = 3;
    B[2][2] = 3;
    // Proses penjumlahan matriks A dan B
    C[0][0] = A[0][0] + B[0][0];
    C[0][1] = A[0][1] + B[0][1];
    C[0][2] = A[0][2] + B[0][2];
    C[1][0] = A[1][0] + B[1][0];
    C[1][1] = A[1][1] + B[1][1];
    C[1][2] = A[1][2] + B[1][2];
    C[2][0] = A[2][0] + B[2][0];
    C[2][1] = A[2][1] + B[2][1];
    C[2][2] = A[2][2] + B[2][2];
    // Proses pencarian selisih matriks A dan B
    D[0][0] = A[0][0] - B[0][0];
    D[0][1] = A[0][1] - B[0][1];
    D[0][2] = A[0][2] - B[0][2];
    D[1][0] = A[1][0] - B[1][0];
    D[1][1] = A[1][1] - B[1][1];
    D[1][2] = A[1][2] - B[1][2];
    D[2][0] = A[2][0] - B[2][0];
    D[2][1] = A[2][1] - B[2][1];
    D[2][2] = A[2][2] - B[2][2];
    // Menampilkan matriks A
    cout << "\nMatriks A :\n" << endl;
    cout << A[0][0] << "\t" << A[0][1] << "\t" << A[0][2] << endl;
    cout << A[1][0] << "\t" << A[1][1] << "\t" << A[1][2] << endl;
    cout << A[2][0] << "\t" << A[2][1] << "\t" << A[2][2] << endl;
    // Menampilkan matriks B
    cout << "\nMatriks B :\n" << endl;
    cout << B[0][0] << "\t" << B[0][1] << "\t" << B[0][2] << endl;
    cout << B[1][0] << "\t" << B[1][1] << "\t" << B[1][2] << endl;
    cout << B[2][0] << "\t" << B[2][1] << "\t" << B[2][2] << endl;
    // Menampilkan hasil penjumlahan
    cout << "\nJumlah matriks A dan B :\n" << endl;
    cout << C[0][0] << "\t" << C[0][1] << "\t" << C[0][2] << endl;
    cout << C[1][0] << "\t" << C[1][1] << "\t" << C[1][2] << endl;
    cout << C[2][0] << "\t" << C[2][1] << "\t" << C[2][2] << endl;
    // Menampilkan selisih
    cout << "\nSelisih matriks A dan B :\n" << endl;
    cout << D[0][0] << "\t" << D[0][1] << "\t" << D[0][2] << endl;
    cout << D[1][0] << "\t" << D[1][1] << "\t" << D[1][2] << endl;
    cout << D[2][0] << "\t" << D[2][1] << "\t" << D[2][2] << endl;
    cout << endl;
    return 0;
}

Penggunaan Loop dalam Script


Pada script di atas, perhatikanlah kelompok baris berikut:
  1. Baris ke-35 Sampai baris ke-43,
  2. Baris ke-45 sampai baris ke-53,
  3. Baris ke-56 sampai baris ke-58,
  4. Baris ke-61 sampai baris ke-63,
  5. Baris ke-66 sampai baris ke-68,
  6. Baris ke-71 sampai baris ke-73.
Kelompok-kelompok baris di atas memiliki pola sehingga dapat diubah ke dalam bentuk loop.

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    int A[10][10], B[10][10], C[10][10], D[10][10];
    int i,j,m,n;
    m = 3;
    n = 3;
    cout << "\n===============================================";
    cout << "\n             ASRI FISIKA 12 UNHAS              ";
    cout << "\n        JUMLAH DAN SELISIH 2 MATRIKS           ";
    cout << "\n      PONDOK NURLINA, 18 DESEMBER 2016         ";
    cout << "\n===============================================";
    cout << endl;
    // Inisialisasi matriks A
    A[0][0] = 3;
    A[0][1] = -1;
    A[0][2] = 4;
    A[1][0] = 5;
    A[1][1] = 0;
    A[1][2] = 2;
    A[2][0] = 8;
    A[2][1] = 9;
    A[2][2] = 4;
    // Inisialisasi matriks B
    B[0][0] = 3;
    B[0][1] = 8;
    B[0][2] = 1;
    B[1][0] = 0;
    B[1][1] = 4;
    B[1][2] = -5;
    B[2][0] = -2;
    B[2][1] = 3;
    B[2][2] = 3;
    // Proses penjumlahan matriks A dan B
    for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
        C[i][j] = A[i][j] + B[i][j];
    }
    // Proses pencarian selisih matriks A dan B
    for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
        D[i][j] = A[i][j] - B[i][j];
    }
    // Menampilkan matriks A
    cout << "\nMatriks A :\n" << endl;
    for(i=0;i<m;i++)
    {
        for(j=0; j<n; j++)
        cout << A[i][j] << "\t";
        cout << endl;
    }
    // Menampilkan matriks B
    cout << "\n\nMatriks B :\n" << endl;
    for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
        cout << B[i][j] << "\t";
        cout << endl;
    }
    // Menampilkan hasil penjumlahan
    cout << "\nJumlah matriks A dan B :\n" << endl;
    for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
        cout << C[i][j] << "\t";
        cout << endl;
    }
    // Menampilkan selisih
    cout << "\nSelisih matriks A dan B :\n" << endl;
    for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
        cout << D[i][j] << "\t";
        cout << endl;
    }
    cout << endl;
    return 0;
}

Gambar di bagian atas artikel ini memperlihatkan hasil dari program.

Sekian postingan kali ini. Jika ada yang kurang jelas, silakan bertanya di kolom komentar. Semoga bermanfaat!

Senin, 06 Maret 2017

Belajar Membaca Aksara Lontara


Sudah pernah dengar tentang aksara Lontara?

Aksara Lontara merupakan aksara tradisional masyarakat Sulawesi Selatan dan Sulawesi Barat khususnya masyarakat Bugis, Luwu, Mandar, dan Makassar. Saat ini sering terjadi perdebatan mengenai siapa suku pertama yang menggunakan aksara ini. Apakah suku Bugis atau Makassar? Kita tidak akan membahas perdebatan tersebut dalam artikel ini. Fokus kita dalam artikel ini adalah bagaimana cara membaca aksara Lontara.

Aksara Lontara sangat terkenal di Eropa semenjak Sure' I La Galigo dibawa oleh B.F. Matthes dari Sulawesi Selatan ke Belanda. Apa itu Sure' I La Galigo?

Sure' I La Galigo merupakan sebuah epik yang berisi kepercayaan dan kebudayaan Bugis kuno, diperkirakan ditulis pada abad ke-13 sampai abad ke-15 Masehi. Tahukah anda bahwa Sure' I La Galigo merupakan epik terpanjang di dunia? Tahun 2011, UNESCO mengakui Sure' I La Galigo sebagai Memory of the World dan membuat Indonesia bangga. Informasi lebih lanjut mengenai Sure' I La Galigo dapat dilihat di sini.   

Aksara Lontara sangat berbeda dengan aksara Latin yang digunakan secara resmi di negara Indonesia yang tercinta ini. Perbedaannya bukan hanya dalam segi bentuk huruf melainkan juga dalam segi cara membacanya.

Aksara Lontara bersifat silabis, berbeda dengan aksara Latin yang bersifat fonetik. Apa yang dimaksud dengan silabis?

Sebuah aksara dikatakan bersifat silabis jika setiap huruf dalam aksara itu mengandung vokal inheren. Maksudnya, setiap huruf dalam aksara yang bersifat silabis mewakili satu suku kata. Contoh aksara di dunia yang bersifat silabis antara lain aksara Katakana dan Hiragana dari Jepang dan aksara Hangeul dari Korea.

1. Huruf-Huruf Dalam Aksara Lontara


Terdapat perbedaan jumlah huruf antara aksara Lontara versi Makassar dan aksara Lontara versi Bugis. Dalam aksara Lontara versi Makassar terdapat 19 huruf sedangkan dalam aksara Lontara versi Bugis terdapat 23 huruf. Gambar di bawah ini memperlihatkan huruf-huruf aksara Lontara versi Bugis.


Huruf-huruf aksara Lontara di atas dinamakan Îna' Sûre' atau biasa juga disebut dengan Indo' Sûre'. Huruf Ngka, Mpa, Nra dan Nca tidak didapati dalam aksara Lontara versi Makassar. Keempat huruf ini sepertinya diciptakan belakangan karena dalam Sure' I La Lagaligo tidak didapati keempat huruf ini termasuk huruf Ha.

Huruf Ha dalam aksara Lontara tercipta setelah masuknya agama Islam ke Sulawesi Selatan. Tidak ada kosakata asli bahasa Bugis dan Makassar kuno yang mengandung huruf Ha. Sebenarnya huruf Nca dalam gambar di atas dibaca /Ngca/ namun dalam proses transliterasi tertulis /Nca/.

2. Diakritik Dalam Aksara Lontara


Sebagaimana yang dapat dilihat dalam gambar di atas, setiap huruf dalam aksara Lontara sudah mengandung vokal /a/. Terus bagaimana cara menambahkan vokal /i/, /u/, /e/, dan /o/ pada huruf?

Untuk mengganti vokal /a/ yang sudah terkandung dalam setiap huruf maka digunakan tanda diakritik. Diakritik adalah tanda baca tambahan pada huruf yang akan mengubah cara pengucapan huruf tersebut.

Sekali lagi, terdapat perbedaan jumlah tanda diakritik antara aksara Lontara versi Makassar dan Lontara versi Bugis. Dalam aksara Lontara versi makassar terdapat 4 tanda diakritik sedangkan dalam aksara Lontara versi Bugis terdapat 5 tanda diakritik. Dalam tradisi Bugis, tanda diakritik dinamakan Ana' Sûre'. Gambar di bawah ini memperlihatkan tanda-tanda diakritik dalam aksara Lontara versi Bugis.


Tanda É pada gambar di atas dibaca seperti huruf E dalam kata ember, enak, merah, dan setan sedangkan tanda E dibaca seperti huruf E yang terdapat dalam kata telah, sepatu, terang, dan kerucut. Huruf É (terdapat tanda diakritik di bagian atas huruf) disebut dengan E taling sedangkan huruf E (tanpa tanda diakritik) disebut dengan E pepet.

Dahulu, tanda E pepet dan E taling pernah digunakan dalam kesusasteraan Indonesia. Namun, tanda diakritik dihilangkan sejak tahun 60-an karena ada anggapan bahwa orang Indonesia sudah tahu kapan huruf E dibaca seperti E taling dan kapan dibaca seperti E pepet.

Dalam bahasa Makassar tidak dikenal kata yang mengandung E pepet sehingga dalam aksara Lontara versi Makassar tidak terdapat tanda diakritik untuk bunyi vokal E pepet. Ya, seperti itulah penyebabnya.

Gambar di bawah ini memperlihatkan contoh penerapan tanda diakritik pada huruf-huruf Lontara.


3. Menulis Menggunakan Aksara Lontara


Aksara Lontara yang diwariskan oleh leluhur Bugis dan Makassar tidak mengenal tanda pemati huruf, glottal stop (penekanan di akhir suku kata), dan geminasi (penggandaan konsonan dalam penyebutan satu huruf).

Yang dimaksud dengan glottal stop adalah penghentian bunyi secara mendadak di akhir pengucapan suku kata seperti penyebutan Hamzah sukun dalam huruf Hijaiyyah. Yang dimaksud dengan geminasi adalah adanya dua konsonan sejenis yang berdekatan sehingga dalam membacanya seakan-akan hanya terdapat satu konsonan yang diucapkan dengan terlebih dahulu menekan tempat keluarnya huruf.

Dalam menulis teks menggunakan aksara Lontara, kita harus membedakan antara tanda titik yang merupakan bagian dari huruf dan  tanda titik yang merupakan tanda diakritik. Jika terdapat huruf Lontara yang memiliki titik di bagian atasnya dan penulis ingin menambahkan tanda diakritik untuk vokal /i/ maka hasilnya adalah huruf yang memiliki dua tanda titik di bagian atasnya. Perlu diperhatikan bahwa tanda titik yang merupakan bagian dari huruf terletak di tengah-tengah atas huruf sedangkan tanda titik diakritik terletak di bagian atas sebelah kiri (tidak persis di tengah). Contoh:


Kata di atas dibaca dâdi'.

Jika sebuah huruf Lontara memiliki tanda titik di bagian bawah dan penulis ingin menambahkan tanda diakritik untuk vokal /u/ maka hasilnya adalah huruf yang memiliki dua tanda titik di bagian bawah. Harap diperhatikan bahwa tanda titik di bawah huruf yang tepat di tengah merupakan bagian dari huruf sedangkan tanda titik di bawah huruf yang di bagian bawah sebelah kanan merupakan tanda diakritik. Contoh:


Kata di atas dibaca mânu'.

Lebih mudah menulis teks yang menggunakan aksara Lontara daripada membaca teks yang menggunakan aksara Lontara. Kenapa bisa? Karena dalam membaca teks yang menggunakan aksara Lontara, seorang pembaca harus memahami bahasa yang digunakan oleh teks tersebut (bahasa Makassar, Bugis, Taé, Mandar, Dûri, Torâja, atau bahasa-bahasa lain yang ada di Sulawesi Selatan dan Sulawesi Barat) karena kalau tidak tidak maka kemungkinan besar ia akan salah dalam menyebut sebuah kata. Perhatikan teks Lontara di bawah ini:


Jika pembaca tidak memahami bahasa Bugis maka kemungkinan besar akan salah dalam membaca teks di atas, misalnya ia membacanya dengan:
  1. Bola lopo;
  2. Bola loppo;
  3. Bola lopong;
  4. Bola lopo';
  5. Bolang lopo;
  6. Bola' lopo;
Pembaca yang memahami bahasa Bugis akan tahu bawah teks di atas dibaca seperti pada nomor 2 yang artinya adalah rumah yang besar. Kenapa demikian? karena kata bolang, bola', lopo, dan lopong tidak dikenal dalam bahasa Bugis.

Berarti susah dong membaca teks yang menggunakan aksara Lontara? Ya, memang susah kalau kita tidak memahami bahasanya. Kalau kita paham bahasanya dan sering membaca teks yang menggunakan aksara Lontara maka yakin dan percaya, kita akan bisa membacanya selancar saat kita membaca teks yang menggunakan aksara Latin. Buktinya, para khatib di pedalaman Bone menggunakan buku kumpulan khutbah jumat yang menggunakan aksara Lontara dan mereka sangat lancar membacanya walaupun buku itu baru pertama kali dibacanya.

Dalam aksara Lontara terdapat tanda yang disebut pallâwa yaitu:


Secara umum, tanda pallâwa digunakan untuk menandakan adanya jeda dalam membaca sebuah teks. Tanda pallâwa memiliki fungsi yang sama dengan koma dan titik dalam aksara Latin. Contoh penggunaan tanda pallâwa:


Jika ada yang kurang jelas, silakan bertanya di kolom komentar.

Jika anda berminat mempelajari bahasa Bugis dengan cara mendengarkan langsung pengucapannya dari penutur aslinya disertai artinya, silakan kunjungi channel Gantolle Cella di Youtube, atau anda bisa langsung menonton beberapa videonya berikut ini.

⇛ 40 Pertanyaan yang Umum Digunakan dalam Bahasa Bahasa Bugis:


⇛ 25 Nama Binatang dan Artinya:


Demikian, semoga bermanfaat!

Kamis, 23 Februari 2017

Menghitung Standar Deviasi Dengan Bantuan Program Komputer (C++)


Sekarang kita akan meramu sebuah program komputer yang mampu menghitung standar deviasi. Apa itu standar deviasi? Bagi yang belum tahu, silahkan mengunjungi tautan di bawah ini:
Varian dan Standar Deviasi
Program sederhana ini pada awalnya saya buat untuk membantu adek-adek saya yang sedang sibuk mengerjakan laporan praktikum Fisika Dasar. Dalam pembuatan laporan praktikum Fisika Dasar sebagaimana yang pernah saya alami---walau saya jarang ikut lab dan kerja laporan tapi setidaknya saya pernah mengalaminya---seringkali melibatkan proses perhitungan standar deviasi.

Walaupun praktikan ada yang menggunakan kalkulator dalam proses perhitungan, namun, tetap saja perhitungan standar deviasi sangat rawan terjadi kesalahan. Inilah perbedaan manusia dan komputer. Manusia itu cerdas luar biasa tapi terkadang kurang cermat dan pelupa sedangkan komputer bodoh luar biasa---komputer tidak dapat melakukan apapun selain yang tertulis dalam program---tapi sangat teliti dan memiliki daya ingat sangat tinggi---selama data yang tersimpan tidak diserang virus dan malware. Kenyataan ini membuat saya terinspirasi untuk membuat program komputer yang dapat mengecek kebenaran hasil perhitungan.

Dalam pembuatan laporan praktikum Fisika Dasar, rumus standar deviasi yang sering digunakan adalah rumus standar deviasi populasi, bukan standar deviasi sampel. Hal ini karena data hasil pengukuran yang diolah tidak banyak sehingga perhitungan standar deviasi dapat dilakukan dengan melibatkan semua anggota populasi. Walau demikian, program yang akan ditampilkan dalam postingan kali ini tetap menyediakan 2 opsi bagi user yaitu perhitungan standar deviasi populasi dan sampel. Bagi yang belum tahu perbedaan populasi dan sampel, silahkan kunjungi tautan di bawah ini:
Ok, tanpa pembahasan panjang lebar lagi, langsung saja saya tampilkan source code-nya. Ini dia programnya dalam bahasa C++:

#include <iostream>
#include <cmath>
using namespace std;
int n,i;
float data[1000], keragaman[1000];
float kkuadrat[1000];
float jumlah = 0.0, pk = 0.0, jkeragaman = 0.00;
float rerata, varian, SD;
void tampilHasil()
{
   cout << ">> Rerata (<x>) = " << rerata << endl;
   cout << ">>      No.             x_i-<x>         (x_i-<x>)^2 " << endl;
   cout << "       ---------------------------------------------" << endl;
   for(i = 0; i < n; ++i)
      cout << "\t" << i + 1 << "\t\t" << keragaman[i] << "\t\t" << kkuadrat[i] << endl;
   cout << "       ---------------------------------------------" << endl;
   cout << "\t" << "Jumlah" << "\t\t" << jkeragaman << "\t\t" << pk << endl;
   cout << "       ---------------------------------------------" << endl;
   cout << ">> Varian = " << varian << endl;
   cout << ">> Standar Deviasi = " << SD;
}
void HitungSDpopulasi()
{
   varian = pk/n;
   SD = sqrt(varian);
   tampilHasil();
}
void HitungSDsampel()
{
   varian = pk/(n-1);
   SD = sqrt(varian);
   tampilHasil();
}
void prosePertama()
{
   for(i = 0; i < n; ++i)
   {
       jumlah += data[i];
   }
   rerata = jumlah/n;
   for(i = 0; i < n; ++i)
      keragaman[i] = data[i]-rerata;
   for(i = 0; i < n; ++i)
      kkuadrat[i] = pow(keragaman[i], 2); // kkuadrat : keragaman dikuadratkan
   for(i = 0; i < n; ++i)
      jkeragaman += keragaman[i];
   for(i = 0; i < n; ++i)
      pk += kkuadrat[i]; // pk : jumlah dari keragaman yg dikuadratkan
}
void inputPopulasi()
{
   cout << ">> Masukkan jumlah anggota populasi : \n";
   cin >> n;
   cout << ">> Masukkan " << n << " data : \n";
   for(i = 0; i < n; ++i)
        cin >> data[i];
   prosePertama();
   HitungSDpopulasi();
}
void inputSampel()
{
   cout << ">> Masukkan jumlah sampel : \n";
   cin >> n;
   cout << ">> Masukkan " << n << " data : \n";
   for(i = 0; i < n; ++i)
        cin >> data[i];
   prosePertama();
   HitungSDsampel();
}
void tanya()
{
    int p;
    cout << "\n-----------------------------------------------------";
    cout << "\nStandar Deviasi Populasi atau Sampel? ";
    cout << "\n(Populasi = 1, Sampel = 2) : ";
    cin  >> p;
    cout << "-----------------------------------------------------";
    cout << endl;
    if (p==1)
      inputPopulasi();
    else
      inputSampel();
}
int main()
{
   int l;
   cout << "=====================================================\n";
   cout << "        Program Untuk Menghitung Standar Deviasi     \n";
   cout << "                          Asri                       \n";
   cout << "                    Fisika 12 Unhas                  \n";
   cout << "              Makassar, 22 Februari 2017             \n";
   cout << "=====================================================\n";   
   tanya();
   cout << endl;
   return 0;
}

Anda dapat mengunduh source code dalam bentuk file dengan mengunjungi tautan di bawah ini:
Program Standar Deviasi Dalam CPP
Saya sangat mengharapkan adanya kritikan dan masukan jika ada kesalahan atau ada sesuatu yang kurang dalam program di atas. Saya hanya manusia biasa yang selalu gagal membuat sesuatu yang sempurna walau telah mencoba.

Demikian postingan kali ini. Semoga bermanfaat!

Selasa, 21 Februari 2017

Perangkat Lunak yang Perlu Diinstal Sebelum Menggunakan Latex di Windows

Pada tahun 2015, saya telah menulis artikel tentang cara menginstal Latex di Ubuntu dan Linux Mint dengan menggunakan command line. Nah, ada beberapa orang  yang bertanya mengenai cara menginstal Latex di Windows. Awalnya, saya tidak terlalu memperhatikan pertanyaan ini karena menginstal aplikasi di Windows tidak membutuhkan tutorial, pikirku. Kita hanya perlu mengunduh installer-nya lalu mengklik ganda lalu klik next dan next sampai selesai. Namun, ternyata masih banyak yang mengalami kesulitan.

Ok, kita masuk ke inti pembahasan. Ada dua hal yang dibutuhkan sebelum menggunakan Latex di Windows, yaitu:
1. MiKTeX
2. Text Editor
    MiKTeX adalah compiler Latex di Windows. MiKTeX bisa dikatakan sebagai perangkat lunak yang mampu mengubah script Latex menjadi dokumen yang diinginkan misalnya mengubahnya ke dalam bentuk PDF (Portable Document Format). Jadi, hal pertama yang perlu diinstal adalah MiKTeX. Kunjungilah link di bawah ini untuk mengunduh MiKTeX Installer:
    Sesuaikan bit-nya dengan bit sistem operasi anda. Jika telah selesai diunduh maka instal MiKTeX dengan cara:
      Klik ganda MiKTeX Installer lalu klik Yes.

        Centang I accept the MiKTeX copying conditions lalu klik Next.


        Pilih Anyone who uses this computer (all users) jika anda ingin membiarkan siapa pun pengguna komputer anda menggunakan MiKTeX yang akan diinstal. Jika pada komputer anda terdapat dua user atau lebih dan anda tidak ingin berbagi maka pilih Only for : nama_anda. Setelah selesai memilih, klik Next.

          Selanjutnya akan ditampilkan Installation Directory. Jika lokasi penginstalan perangkat lunak MiKTeX sudah sesuai dengan keinginan anda maka klik Next.

            Pada Preferred paper, pilih jenis kertas, di sini saya pilih A4 sebagai ukuran kertas default. Jangan khawatir, ada masih bisa menggunakan ukuran kertas lain walau telah memilih satu jenis ukuran kertas. Pada bagian Install missing packages on-the-fly, pilih Ask me first, lalu klik Next.

              Klik Start untuk memulai instalasi.

                Tunggu hingga proses instalasi hingga selesai.


                Setelah paket MiKTeX selesai diinstal pada sistem, klik Next.


                Proses pengistalan MiKTeX telah selesai, klik Close.

                Hal selanjutnya yang dibutuhkan adalah text editor atau biasa disebut editor saja. Text editor digunakan untuk menulis dokumen Latex. Ada banyak editor yang diciptakan khusus untuk menulis dokumen Latex. Di antara banyaknya editor tersebut, ada satu editor yang menurut saya sangat memanjakan pengguna yaitu Texmaker. Kunjungilah link di bawah ini untuk mengunduh Texmaker installer:
                Setelah selesai, installah Texmaker tersebut dengan cara:

                Klik ganda Texmaker Installer yang telah diunduh, lalu klik Yes.


                Pada bagian License Agreement, klik I Agree.


                Pada bagian Instalation Folder, Klik Install.


                Tunggu hingga instalasi selesai.


                Setelah proses instalasi selesai, klik Close.

                Sekarang anda sudah dapat menulis dan mengompilasi dokumen Latex di Windows. Untuk membuktikan bahwa MiKTeX dan Texmaker terinstal dengan baik maka cobalah buka aplikasi Texmaker dengan cara mengklik ikon Texmaker yang ada di Dekstop. Tampilan awal Texmaker akan tampak seperti gambar di bawah ini:


                Klik menu File, lalu pilih New sehingga tampilan berubah seperti gambar di bawah ini:


                Cobalah menulis script Latex di bawah ini:

                \documentclass[12pt,a4paper]{article}
                \usepackage[utf8]{inputenc}
                \usepackage{amsmath}
                \usepackage{amsfonts}
                \usepackage{amssymb}
                \usepackage[left=4cm,right=3cm,top=4cm,bottom=3cm]{geometry}
                \author{Asri}
                \title{Coba \LaTeX}
                \begin{document}
                   \maketitle
                   Hello World! Ini adalah kali pertamaku belajar \LaTeX{}.
                \end{document}
                

                Supaya script Latex yang telah ditulis dapat dikompilasi maka kita harus menyimpannya terlebih dahulu. Klik menu File, pilih Save.


                Buatkan folder khusus untuk menyimpan satu dokumen Latex. Pada contoh kali ini, folder dan file-nya diberi nama Coba-Latex sebagaimana yang dapat dilihat dalam gambar di bawah ini:


                Setelah selesai, klik Save.

                Untuk mengubah dokumen Latex yang telah disimpan menjadi file PDF maka klik menu Tools lalu pilih Quick Build atau klik ikon Quick Build yang ada di  bagian bawah menu Bibliography. Setelah selesai, maka akan ditampilkan file PDF seperti pada gambar di bawah ini:


                File PDF yang ditampilkan tersimpan di dalam forlder yang sama dengan file Latex.

                Sekian postingan kali ini. Jika ada yang kurang jelas, silakan bertanya dalam kotak komentar. Semoga bermanfaat!

                Senin, 06 Februari 2017

                Program Pendeteksi Adanya Sifat Komutatif Dalam Perkalian Dua Buah Matriks


                Salah satu kegiatan yang biasa saya lakukan dalam memanfaatkan waktu senggang adalah bercengkerama dengan laptop. Saya biasa menghabiskan waktu berjam-jam menciptakan program-program komputer. Terkadang saya juga tidak tahu apa manfaat program-program tersebut ketika telah selesai. Walau seperti itu, saya tetap merasa puas setiap kali ada satu program yang selesai. Pasalnya, saya menjadikan kegiatan coding sebagai sebuah hiburan. Saya tidak menganggap coding sebagai sebuah pekerjaan untuk menciptakan program yang laku di pasaran.

                Sabtu malam, 4 Februari 2017, saya sedang belajar ulang aljabar linear. Di buku yang saya baca, dikatakan bahwa ada yang namanya matriks commute dan anti commute. Di buku itu juga dikatakan bahwa matriks commute adalah keadaan dimana matriks A dan B memenuhi AB = BA. Lebih lanjut, matriks anti commute adalah keadaan dimana matriks A dan B memenuhi AB = - BA.

                Untuk mengetahui bahwa dua buah matriks bersifat commute atau anti commute maka tidak ada cara lain selain mengalikan kedua matriks tersebut. Khusus untuk perkalian matriks, kita bisa menggunakan bantuan program komputer. Saat ini, banyak bertebaran di internet mengenai program perkalian matriks dalam berbagai bahasa pemrograman.

                Untuk mengetahui sifat commute dan anti commute dua buah matriks tidak cukup hanya dilakukan dengan mengalikan dua buah matriks tersebut. Kita harus memeriksa elemen demi elemen dua buah matriks yang merupakan hasil kali kedua matriks tadi (AB dan BA). Jika Matriks tersebut hanya berorde 2 x 2 sampai 4 x 4 maka cara manual masih terasa mudah. Namun, jika matriks tersebut berorde tinggi (misalnya matriks 25 x 25) maka cara manual akan terasa menyusahkan (mungkin hanya saya). Yang saya maksud dengan cara manual di sini yaitu tanpa menggunakan bantuan komputer.

                Saya sempat mencari di Google mengenai program untuk mendeteksi sifat commute dan anti commute dua buah matriks dalam bahasa Indonesia dan Inggris. Alhasil, saya tidak menemukan program seperti itu. Kenyataan inilah yang menyebabkan saya berkeinginan merancang sebuah program yang bisa mendeteksi sifat commute dan anti commute dua buah matriks.

                Perlu saya tegaskan kepada teman-teman, bahwa walaupun program semacam itu tidak ada di Google, bukan berarti tidak ada orang di luar sana yang mampu membuatnya. Bisa jadi, orang-orang malas membuang-buang waktu mengerjakan hal-hal seperti itu karena ada yang dianggap lebih penting. Terus... kenapa saya mau buang-buang waktu merancang program seperti itu? Jawabannya sangat sederhana, karena saya butuh hiburan dan saya terhibur ketika mengerjakan hal-hal seperti itu.

                Selama ini program-program sederhana yang saya buat hanya tersimpan di komputer. Tiba-tiba saya terpikir untuk membagikannya di blog. Akhirnya, saya tulis pekerjaan-pekerjaan saya dalam bentuk paper. Dan, hari ini, saya memostingnya. Link-nya ada di bagian bawah artikel ini. Silakan dikunjungi jika teman-teman penasaran dengan apa yang ada di sana.

                Sebelum postingan ini berakhir, saya ingin sedikit berceramah. Sekafir-kafirnya pemikiran, sebejat-bejatnya perbuatan, pada akhirnya kita akan berjumpa dengan kematian. Menetap dalam kesendirian hingga datang hari penghakiman. Maka dari itu, seyogyanya kita terus berusaha memperbaiki diri, meningkatkan kemampuan, menjernihkan hati sanubari, dan berusaha berguna bagi sesama. Demikian, terima kasih!

                Silakan klik tautan di bawah ini untuk mendownload papernya. 
                Demikian. Semoga bermanfaat!

                Sabtu, 04 Februari 2017

                Apa Saja yang Dibahas Dalam Filsafat Ilmu?


                Setelah sekian lama menenggelamkan diri dalam rutinitas kampus, akhirnya saya bisa kembali ngeblog. Beberapa waktu yang lalu, seorang teman sempat meminta saya untuk menulis artikel mengenai filsafat ilmu. Permintaan ini sangatlah memberatkan bagi saya kerena bahasan filsafat ilmu sangatlah luas. Kalau mau dibahas secara detil, bisa jadi satu buku.

                Saat saya mengemukakan alasan di atas kepada teman saya itu, bukannya memaklumi, ia malah memberi saran supaya saya tidak membahasnya sekaligus. Katanya, "Bahas saja sedikit demi sedikit, artikel demi artikel!" Saya hanya bisa berkata, "Kalau saya lakukan itu, bisa-bisa saya tidak sarjana. Saya sudah semester akhir ini bro!"

                Oke, kita masuk ke dalam bahasan yang sesungguhnya. Saya harap teman-teman sudah memahami apa itu filsafat karena saya tidak akan membahasnya di sini. Jika teman-teman belum tahu, silakan baca salah satu artikel saya yang membahas tentang itu (klik di sini). 

                Dalam artikel ini, saya hanya akan membahas filsafat ilmu secara ringkas, seringkas mungkin. Artikel ini diperuntukkan bagi teman-teman yang belum memiliki gambaran mengenai filsafat ilmu dan bermaksud membeli buku atau mengikuti kajian tentang filsafat ilmu. Anda tahulah, seringkali buku-buku yang ada di toko buku terbungkus plastik sehingga kita harus membelinya terlebih dahulu supaya bisa membaca isinya.  Nah, jika seseorang belum memiliki gambaran umum mengenai filsafat ilmu terus membeli buku filsafat ilmu, ia bisa saja kecewa nantinya. Kekecewaan yang bukan hanya didasari oleh cara penulis dalam memaparkan materi, melainkan kekecewaan yang dapat juga didasari oleh objek pembahasan yang tidak disukai.

                Jika ada bagian yang tidak sempat saya singgung dalam artikel ini, saya mohon maaf, hanya sampai di situlah pengetahuan saya. Walaupun saya hanya membahas secara ringkas, namun saya tetap berkeinginan untuk membahasnya secara rinci di lain waktu---jika saya belum mati setelah menulis artikel ini.

                Ini dia pokok-pokok bahasan dalam filsafat ilmu:

                1. Definisi Pengetahuan


                Hal pertama yang selalu di bahas dalam filsafat ilmu adalah definisi pengetahuan. Apakah pengetahuan itu? Pengetahuan (knowledge) adalah informasi yang diperoleh oleh seseorang atau kelompok, terlepas benar atau tidaknya informasi itu. Dalam hal ini, yang mengetahui memiliki gambaran terhadap yang diketahui dalam dirinya sendiri.

                Dalam filsafat ilmu, para filsuf telah menganalisis jenis-jenis pengetahuan yang dapat dimiliki oleh manusia. Berikut ini adalah jenis-jenis pengetahuan:
                1. Pengetahuan Biasa (common sense)
                2. Pengetahuan Ilmu (science)
                3. Pengetahuan Filsafat
                4. Pengetahuan Agama

                2. Definisi Ilmu


                Tentu saja dalam filsafat ilmu akan dibahas definisi ilmu. Dalam Encyclopedia Americana (1972) dikatakan bahwa ilmu adalah pengetahuan yang bersifat positif dan sistematis. Carles Siregar sedikit unik dalam mendefinisikan ilmu. Beliau berkata, "Ilmu adalah proses yang membuat pengetahuan."

                Jadi, apa itu ilmu? Ilmu adalah pengetahuan yang telah dikaji dan diuji sedemikian sehingga pengetahuan itu bersifat sistematis dan dapat dipertanggung jawabkan kebenarannya.

                3. Hakikat Pengetahuan


                Para filsuf berbeda pendapat mengenai hakikat pengetahuan. Ada dua paham yang sangat bertolak belakang dalam menjelaskan hakikat pengetahuan yaitu Realisme dan Idealisme. Masing-masing dari dua paham ini memiliki banyak pendukung. Sejak dahulu sampai sekarang, perdebatan antara filsuf yang berpaham Realisme dan Idealisme tidak pernah selesai.

                Dalam Realisme, pengetahuan pada hakikatnya adalah gambaran objektif dari alam nyata (realitas). Dalam Idealisme, pengetahuan pada hakikanya adalah proses-proses mental atau proses psikologis terhadap informasi-informasi dari alam nyata. Jadi, dalam Idealisme, pengetahuan merupakan gambaran subjektif terhadap alam nyata.

                3. Sumber Pengetahuan


                Filsuf memang jarang sekali sependapat. Mereka kembali berbeda pendapat mengenai sumber pengetahuan. Terdapat beberapa pendapat mengenai hal ini, yaitu:
                1. Empirisme : Pengetahuan diperoleh dari pengalaman idrawi.
                2. Rasionalisme : Pengetahuan diperoleh dari penalaran akal.
                3. Intuisi : Pengetahuan diperoleh secara tiba-tiba (sekonyong-konyong) tanpa diketahui dari mana sumbernya.
                4. Wahyu : Pengetahuan diperoleh dari Tuhan melalui firman yang diturunkan kepada nabi-Nya.
                Khusus untuk orang-orang yang mengklaim bahwa intuisi dan/atau wahyu adalah sumber pengetahuan, saya tidak pernah menemukan ada  di antara mereka yang menganggap bahwa apa yang mereka klaim merupakan satu-satunya sumber pengetahuan. Mereka juga mengakui bahwa pengalaman idrawi dan penalaran akal dapat menjadi sumber pengetahuan.

                Gabungan antara empririsme dan rasionalisme melahirkan metode ilmiah dalam dunia sains. Jadi, jika teman-teman bingung memilih antara empririsme dan rasionalisme maka masuklah dalam dunia sains. Jika bisa pilih dua-duanya, kenapa hanya satu, hehe.

                4. Ukuran Kebenaran


                Setelah mengetahui hakikat dan sumber pengetahuan, yang menjadi pertanyaan selanjutnya adalah, kapan suatu pernyataan dalam ilmu dapat dianggap benar? Para filsuf berbeda pendapat mengenai tolak ukur kebenaran. Berikut ini adalah 4 hal yang dapat dianggap sebagai tolak ukur kebenaran, yaitu:
                1. Teori korespondensi: Suatu pernyataan dianggap benar jika bersesuaian dengan objek yang dituju. Pernyataan, "Makassar adalah ibukota Sulawesi Selatan", dianggap benar jika dan hanya jika Makassar memang betul ibukota Sulawesi Selatan.
                2. Teori koherensi/Konsistensi: Suatu pernyataan dianggap benar jika pernyataan tersebut saling berhubungan atau saling menerangkan pernyataan lain yang berkaitan.
                3. Teori pragmatisme: Suatu pernyataan dianggap benar jika pernyataan itu mengandung manfaat.
                4. Agama: Suatu pernyataan dianggap benar jika sesuai dengan ajaran agama atau wahyu.
                Hanya sampai di sinilah pembahasan kita. Sebenarnya masih ada lagi yang sering dibahas dalam filsafat ilmu. Namun, bahasan yang telah dipaparkan di atas selalu ada dalam buku-buku filsafat ilmu. Bahasan yang tidak ditampilkan dalam artikel ini hanya dibahas dalam buku-buku tertentu. Semoga dengan artikel ini, pembaca dapat memiliki gambaran umum mengenai bahasan dalam filsafat ilmu.

                Sekian, semoga bermanfaat!

                Jumat, 02 Desember 2016

                Buku Panduan Belajar Tajwid dan Qira'at Riwayat Hafsh (Bahasa Bugis dan Aksara Lontara)

                Sampul Buku Sarabaca

                Beberapa waktu yang lalu, saya shalat di sebuah mesjid di salah satu daerah pedalaman Sul-Sel. Seorang imam memimpin shalat dengan bacaan yang berantakan. Setelah shalat, saya sempat berbincang-bincang dengan salah satu orang tua yang tinggal di sekitar mesjid. Beliau menceritakan keadaan masyarakat di daerah itu.

                Tidak ada ulama ataupun ustadz yang berdakwah di situ. Tidak ada juga buku-buku yang bisa mereka baca. Kalaupun ada, mereka hanya paham beberapa kata yang biasa didengar di Tv. Mereka tidak fasih berbahasa Indonesia.

                Dari situ, saya termotivasi untuk menulis buku yang menggunakan bahasa mereka. Ya, sebuah buku, walaupun mungkin cuma beberapa orang dari mereka yang membacanya. Walau hanya satu orang, kalau itu bermanfaat bagi mereka, bukanlah masalah buatku.

                Satu hal yang menarik di desa itu, mereka suka mengaji walau cara mereka malafalkan huruf-huruf Hijaiyyah mungkin terdengar aneh di telinga orang-orang Arab.

                Ketika kembali ke Makassar, saya mulai menulis buku yang bercerita tentang tajwid, tentang seni membaca Al-Qur'an, tentang Qira'at yang diwariskan oleh sang Imam Penjaga Ayat Suci, Imam Hafsh rahimahullah.

                Dan... jadilah buku ini. Buku yang anda lihat gambarnya di bagian atas halaman ini. Awalnya saya hanya menulis buku ini untuk mereka. Saya jilid lalu bawa ke salah satu mesjid di desa itu. Awalnya saya tidak pernah tertarik untuk meng-uploadnya di internet walau bukunya sudah selesai sejak bulan Juni. Tidak ada orang di internet yang mencari buku berbahasa Bugis, begitulah pikirku waktu itu.

                Namun, saya berpikir kembali, bagaimana kalau ada? Walau cuma satu, yang penting ada. Dan, hari ini, saya mempostingnya.

                Ini dia link-nya: