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!