Rabu, 25 Oktober 2017

Thread untuk OS Android

Salah satu hal yang sangat penting dalam pembuatan berbagai aplikasi termasuk aplikasi berbasis mobile adalah penggunaan thread. Thread adalah suatu struktur pengendali program yang dapat dijalankan secara background, dan cara kerjanya adalah seperti listener. Sebagai contoh penggunaan pada sebuah perangkat SMS, maka paling tidak, ada dua buah thread, yaitu thread untuk mengirim pesan dan thread untuk menerima pesan. Penggunaan thread sangat bagus untuk menghindari adanya deadlock pada suatu layanan.
                                    
Dengan semakin umumnya penggunaan chip multicore  pada smartphone, penggunaan thread yang memungkinkan beberapa task berjalan secara paralel semakin penting untuk meningkatkan kinerja app. Multicore sudah disupport Android sejak versi HoneyComb (3.0). Selain itu, app Android yang terlalu lama berproses dan membuat user interfacehang”  akan terkena error ANR (Application Not Responding). Thread dapat digunakan untuk mengatasi ini dengan memindahkan aktivitas yang lama pada thread yang terpisah.
Contoh multithread pada desktop adalah aplikasi Word di Windows. Saat kita membuka Word dan melakukan penyimpanan, kita secara bersamaan masih dapat mengedit dokumen. Kedua aktivitas ini dilakukan oleh aplikasi yang sama tapi dalam thread yang terpisah.

Sebelumnya perlu dibedakan antara thread dan proses. Thread dan proses sama-sama merupakan urutan kode yang dieksekusi. Pada Android, yang dasarnya adalah Linux, setiap app yang dijalankan berada di proses yang terpisah. Satu proses kemudian dapat memiliki satu atau lebih thread. Thread-thread di dalam proses yang sama berbagi memory, walaupun setiap thread punya register dan stack sendiri. Proses independen satu sama lain, sedangkan thread-thread  pada proses yang sama saling terkait seperti gambar di bawah ini












Kenapa menggunakan thread? karena untuk men-create proses mahal dari sisi resources dibandingkan thread dan komunikasi antar thread lebih mudah dibandingkan antar proses. Kasus yang menarik di desktop adalah browser Chrome vs Firefox. Setiap tab pada Chrome menggunakan proses yang berbeda, sedangkan Firefox menggunakan thread yang berbeda untuk setiap tab. Coba lihat task manager saat membuka banyak tab di Chrome, akan banyak proses bernama Chrome.exe.  Pembuat Chrome beralasan dengan arsitektur seperti ini, jika salah satu tab “hang” maka tidak akan mempengaruhi tab yang lain. Tapi efek sampingnya, Chrome membutuhkan lebih banyak memori dibandingkan Firefox. Firefox sebenarnya juga menggunakan multi proses, tapi hanya untuk plugin, karena plugin sering menjadi sumber masalah. 

Terlepas dari keunggulannya, penggunaan multithread atau multiproses juga dapat menimbulkan masalah, misalnya sinkronisasi, deadlock, race condition dan  starvation. Program juga lebih sulit didebug dan kadang malah kinerjanya lebih jelek.  Walaupun Java dan Android telah menyediakan berbagai library untuk memudahkan pembuatan program multithreading, tetap saja ini bukan hal yang mudah.

Kembali ke Android, saat setiap app dijalankan maka app tersebut memiliki thread utama yang disebut main thread atau UI thread. UI thread ini mengatur tampilan, menerima event dan sebagainya. Aturan yang harus dipegang adalah:
1.    Jangan memblok UI thread.  Misalnya saat user menekan tombol, maka app menjalankan program yang loop sejuta kali sehingga membuat user interface macet. Ini akan berakibat muncul error ANR (App Not Responding). Resources pada smartphone jauh lebih terbatas daripada PC/laptop, sehingga aturan ini lebih ketat.
2.    Jangan mengakses komponen UI di luar UI thread. Misalnya ada thread kedua dan thread ini mengakses TextView, Button dsb. Ini dapat menyebabkan error yang tidak terduga.

Ada beberapa cara teknik paralelisasi di Android yaitu : AsyncTask, IntentServices dan Java thread
Mana yang lebih tepat? tergantung masalahnya.

AsyncTask

APA ITU ASYNCTASK?

AsyncTask adalah class yang disediakan Android untuk memudahkan  programmer membuat task yang dijalankan di-background. AsyncTask cocok untuk proses background yang relatif sederhana dan pendek. Misalnya saat mendowload objek dari internet, dan dalam prosesnya UI akan menampilkan kemajuan download.

Contoh : penggunaan AsyncTask saat mengambil data dari API. Proses pengambilan datanya terjadi di background dan di UI nya hanya menampilkan ProgressDialog. Ketika semua data sudah di ambil, maka secara bersamaan akan ditampilkan.
Contoh lain, saat kita mendownload aplikasi, lagu, video atau apapun dari internet, proses tersebut juga menggunakan AsyncTask di UI hanya menampilkan persentase downloadingnya (1% – 100%).

PARAMETER DALAM ASYNTASK
AsyncTask mempunyai tiga parameter yaitu :
1.    Params adalah array dari parameter yang digunakan dalam metode doInBackground().
2.    Progress adalah adalah parameter untuk progress bar yang digunakan oleh metode onProgressUpdate ().
3.    Result adalah parameter dari hasil operasi yang dilakukan oleh metode doInBackground() dan diberikan ke metode  onPostExecute() sebagai parameternya.
METODE-METODE DALAM ASYNCTASK
Dalam proses AsyncTask terdapat beberapa method yang digunakan, antara lain :

1.    onPreExecute(),
Method ini dipanggil sebelum task dikerjakan, biasanya digunakan untuk inisiasi users.
2.    doInBackground(Void… params),
Pada method ini proses thread berjalan, proses pengiriman/pengambilan data terjadi disini. Prosesnya berjalan dibackground. Method ini langsung berjalan setelah onPreExecute() berjalan. Pada proses gunakan publishProgress(params)  untuk mengupdate progressnya sudah sampai mana saja. Tapi ingat, jangan menambahkan ProgressDialog/ProgressBar di method ini. Kalian hanya boleh menambahkan ProgressBar/ProgressDialog di method onProgressUpdate(String… values).
3.    onProgressUpdate(String… values),
Method ini digunakan ketika di method doInBackground(Void.. params) telah memanggil method publishProgress(params). Di method ini kalian bisa tampilkan UI untuk pemberitahuan bahwa pengambilan/pengiriman data sedang berlangsung. Kalian bisa gunakan progressBar atau ProgressDialog.
4.    onPostExecute(Void aVoid),
Method ini digunakan untuk mengupdate User Interface ketika proses doInBackground(Void… params) telah selesai.
                  
MENGGUNAKAN ASYNCTASK

Dengan AsyncTask, kita bisa melakukan pekerjaan asinkron pada antarmuka pengguna. AsyncTask memblokir operasi di thread pekerja kemudian mempublikasikan hasilnya di thread UI, tanpa mengharuskan kita untuk menangani sendiri thread dan/atau penangan sendiri.
Untuk menggunakannya, kita harus menjadikan AsyncTask sebagai subkelas dan mengimplementasikan metode callback doInBackground() yang berjalan di pool thread latar belakang. Untuk memperbarui UI, kita harus mengimplementasikan onPostExecute(), yang mengirim hasil dari doInBackground() dan berjalan di thread UI, jadi kita bisa memperbarui UI dengan aman. Kemudian kita bisa menjalankan tugas dengan memanggil execute() dari thread UI.
IntentServices
Service cocok untuk task yang membutuhkan waktu lama, berjalan di background dan tidak membutuhkan akses ke user interface. Misalnya saat app mengirimkan data ke server, user dapat menekan tombol “send” dan kemudian melanjutkan menggunakan app untuk yang lain. Contoh yang lain adalah streaming musik di backround dan download.
Perbedaan utama antara Services dengan Asynctask adalah Asynctask cocok untuk task yang berjalan di background yang terkait dengan user interface sedangkan service cocok untuk task background yang independen terhadap user interface. Untuk memberikan notifikasi ke user dari service, dapat digunakan toast atau notification bar. Perbedaan lain dengan AsyncTask adalah service mendapat prioritas lebih tinggi sehingga lebih kecil kemungkinannya untuk dimatikan, walaupun jika kehabisan memory service dapat dimatikan untuk kemudian direstart lagi.
Fungsi service ada dua: pertama meminta sistem menjadwalkan task di background yang akan terus berjalan sampai service berhenti. Fungsi kedua adalah menyediakan layanan pada app lain. Service bukan thread dan berada di thread utama (UI thread). Itu sebabnya kita tetap perlu membuat thread terpisah di service untuk task yang panjang karena tetap dapat menyebabkan error ANR.
Seperti halnya AsyncTask, Android menyediakan IntentService untuk memudahkan programmer menggunakan service. IntentService secara otomatis akan membuat thread baru (disebut worker thread) dan menangani antrian pemanggilan service (jika service dipanggil berkali-kali). Intinya programmer tidak perlu lagi memikirkan pengelolaan thread di dalam service.
Untuk menggunakan IntentService, extends kelas IntentService dan override method create() dan onHandleIntent(). Task yang berjalan di backround diletakkan di onHandleIntent().
Tetapi kita perlu membuat kelas khusus untuk menampilkan toast terlebih dulu. Toast tidak dapat langsung digunakan karena onHandleIntent berjalan di worker thread, bukan UI thread. Oleh karena itu perlu digunakan handler. Handler adalah objek yang dapat digunakan untuk berkomunikasi antar thread. Handler akan berada pada thread yang membuatnya. Karena service dicreate oleh UI thread, maka handler otomatis juga ada di UI thread. Jadi kita bisa menggunakan handler untuk berkomunikasi dari worker thread ke UI thread.
Java Thread
Cara lain melakukan proses di background adalah menggunakan thread seperti halnya yang disediakan Java. Cara ini lebih fleksibel daripada AsyncTask, tetapi lebih sulit. Sebenarnya Asynctask, IntentService dan lain-lain dibuat menggunakan library java thread ini.
Untuk membuat thread baru, dapat digunakan kelas Thread. Ada dua cara menjalankan thread, pertama dengan menggunakan objek Runnable, kedua dengan meng-override method Run di kelas Thread. .
Cara pertama, menggunakan Runnable. Runnable adalah kelas yang berisi potongan code yang harus dijalankan.
Cara yang kedua adalah tanpa runnable, dengan meng-extends kelas Thread.

Handler


Cara lain untuk berkomunikasi dengan UI thread adalah dengan Handler.  

Handler adalah objek yang digunakan untuk berkomunikasi antar thread.  Di UI thread kita buat handler, lalu objek handler ini di-pass ke thread. Thread kemudian berkirim pesan melalui handler.


Sumber Referensi:

Chughn Anupam. Android AsyncTask Example Tutorial. Diakses dari https://www.journaldev.com/ pada 23 Oktober 2017 jam 16.10 WIB


Laksito Arif. ( 2012). AsynTask di Android. Amikom.

Anonim. (2012). Proses dan Thread.  Diakses dari https://developer. android.com pada 23 Oktober 2017 jam 16.30 WIB.

Anonim. thread-vs-process. Diakses dari https://sites.google.com/site/ sureshdevang. pada 23 Oktober 2017 jam 16.50 WIB pada 23 Oktober 2017 jam 16.50 WIB

Sabtu, 07 Oktober 2017

REVIEW VIRTUAL MACHINE ( Microsoft Hyper-v)

Oke sekarang kita bakalan bahas mengenai Virtual Machine dan Merivew salah satu software Virtual Mesin. So ini adalah membahasan mengenai virtual mesin secara singkat yaa, karna intinya adalah untuk menriew salah satu Software nya, hehe.😀

Virtual machine?

Jadi, Virtual machine itu adalah sebuah perangkat lunak atau perangkat virtual yang akan memvirtualisasi kan hardware secara lengkap seperti sistem aslinya. Jadi kita dapat menjalankan berbagai macam OS tanpa harus menambahkan hardware, hanya dengan simulasi saja. Virtual Mesin ini akan membuat kumpulan perangkat virtual seperti BIOS, Harddisk dan sebagainya.

Fungsinya?

Virtual Mesin ini mempunyai fungsi, salah satunya adalah agar kita dapat mencoba sistem operasi yang kita inginkan, men uji coba software dsb.

Kelebihan dan kekurangannya?

Virtual Mesin ini pun mempunyai beberapa kelebihan yaitu dapat meningkatkan pemanfaatan hardware mesin anda, menurunkan biaya modal dan operasional, anda juga dapat menjalankan program lain di virtual mesin yang belum tentudi OS yang sama dengan mesin host misalnya menjalankan Windows atau Mac pada mesin host Linux begitupun sebaliknya.
Disamping ia mempunya kelebihan pasti ia mempunyai kekurangan seperti halnya, anda akan cukup kesulitan mengenai sistem penyimpannya, untuk pengimplementasian nya pun cukup sulit.

Apa aja sih software virtual machine?

Software VM itu sebenarnya cukup banyak, salah satunya adalah VirtualBox, VMWare Player,Windows Virtual PC, Qemu, Proxmox, Microsoft hyper V, dan sebagainya.
Jadi itu penjelasan singkat mengenai virtual machine, sekarang kita akan membahas mengenai salah satu software virtual machine itu sendiri yaitu Microsoft hyper-v.


 Microsoft Hyper-V





Microsoft Hyper-V ini merupakan teknologi virtualisasi yang dibuat oleh Microsoft, dan sebelumnya dikenal dengan nama Windows Server Virtualization.
Hyper-V adalah virtualisasi berbasis hypervisor. Sedang hypervisor dikenal juga sebagai virtual machine manager (VMM). VMM sendiri adalah salah satu dari teknik hardware virtualization yang memungkinkan beberapa sistem operasi (dikenal sebagai guest) yang berjalan diatas sebuah host komputer. Guest pada dasarnya akan berbentuk sebagai file.
Sistem operasi yang didukung: Linux dan mesin virtual FreeBSD untuk Hyper-V di Windows, dan juga didukung oleh Windows guest operating system untuk Hyper-V pada Windows Server.

Ada dua model virtualisasi server yang disediakan oleh Microsoft. Yaitu :

- Hyper-V yang merupakan role atau bagian dari Microsoft Windows Server 2008 R2 (as a role). Pada model ini hypervisor menjadi bagian dari sistem operasi host. Sehingga sistem operasi host berfungsi sebagai perantara antara hypervisor dan perangkat keras.

- Hyper-V yang merupakan role atau bagian dari Microsoft Windows Server 2008 R2 (as a role). Pada model ini hypervisor menjadi bagian dari sistem operasi host. Sehingga sistem operasi host berfungsi sebagai perantara antara hypervisor dan perangkat keras.

Hyper-V ini sendiri memiliki beberapa fungsi seperti:
Dari segi teknis, Hyper-V dapat digunakan untuk melakukan pengujian terhadap sebuah pengembangan teknologi informasi.
Selain itu, dengan Hyper-V maka proses terhadap standarisasi atas pemakaian perangkat lunak dan perangkat keras makin mudah dilakukan. Hal ini menjadikan pihak administrator pada TI jadi makin mudah melaksanakan tugas-tugasnya.
Hyper-V juga bersifat sangat fleksibel menjadikan penentuan atas spesifikasi pada perangkat keras bisa dengan mudah dikurangi dan ditambah menurut kebutuhan.
Melalui Hyper-V perusahaan dapat menciptakan sistem komputerisasi yang terpusat dan meminimalkan pemakaian komputer desktop.
Hyper-V dapat membantu kita dalam beberapa hal yaitu:
·         Menetapkan atau memperluas lingkungan awan pribadi. Menyediakan layanan TI on-demand yang lebih fleksibel dengan memindahkan atau memperluas penggunaan sumber daya bersama dan menyesuaikan penggunaan sesuai permintaan.
·         Gunakan perangkat keras Anda lebih efektif. Mengkonsolidasikan server dan beban kerja ke komputer fisik yang lebih sedikit dan lebih kuat untuk menggunakan lebih sedikit daya dan ruang fisik.
·         Tingkatkan kontinuitas usaha. Minimalkan dampak downtime yang dijadwalkan dan tidak terjadwal dari beban kerja Anda.
·         Menetapkan atau memperluas infrastruktur virtual desktop (VDI). Gunakan strategi desktop terpusat dengan VDI dapat membantu Anda meningkatkan ketangkasan bisnis dan keamanan data, serta mempermudah kepatuhan terhadap peraturan dan mengelola sistem operasi dan aplikasi desktop. Menyebarkan Host Virtualization Hyper-V dan Remote Desktop (Host Virtualisasi RD) pada server yang sama untuk membuat virtual desktop pribadi atau kolam virtual desktop tersedia bagi pengguna Anda.
·         Buatlah pengembangan dan uji yang lebih efisien. Mereproduksi lingkungan komputasi yang berbeda tanpa harus membeli atau merawat semua perangkat keras yang Anda perlukan jika hanya menggunakan sistem fisik.
Fitur apa yang dimiliki Hyper-V?

  • Hyper-V menawarkan banyak fitur. Ini adalah ikhtisar, dikelompokkan berdasarkan fitur yang disediakan atau membantu Anda melakukannya
  • Komputasi lingkungan - Mesin virtual Hyper-V mencakup komponen dasar yang sama seperti komputer fisik, seperti memori, prosesor, penyimpanan, dan jaringan. Semua bagian ini memiliki fitur dan pilihan sehingga Anda dapat mengkonfigurasi berbagai cara untuk memenuhi kebutuhan yang berbeda. Penyimpanan dan jaringan masing-masing bisa dianggap kategori sendiri, karena banyak cara Anda bisa mengkonfigurasinya.
  • Pemulihan bencana dan cadangan - Untuk pemulihan bencana, Hyper-V Replica menciptakan salinan mesin virtual, yang dimaksudkan untuk disimpan di lokasi fisik lain, sehingga Anda dapat mengembalikan mesin virtual dari salinannya. Sebagai cadangan, Hyper-V menawarkan dua tipe.One menggunakan status tersimpan dan yang lainnya menggunakan Volume Shadow Copy Service (VSS) sehingga Anda dapat membuat backup aplikasi yang konsisten untuk program yang mendukung VSS.
  • Optimalisasi - Setiap sistem operasi pendukung tamu memiliki seperangkat layanan dan driver khusus, yang disebut layanan integrasi , yang mempermudah penggunaan sistem operasi pada mesin virtual Hyper-V
  •  Portabilitas - Fitur seperti migrasi langsung, migrasi penyimpanan, dan impor / ekspor memudahkan untuk memindahkan atau mendistribusikan mesin virtual.
  • Konektivitas jarak jauh - Hyper-V mencakup Virtual Machine Connection, alat koneksi jarak jauh untuk digunakan dengan Windows dan Linux. Tidak seperti Remote Desktop, alat ini memberi Anda akses konsol, sehingga Anda dapat melihat apa yang terjadi di tamu bahkan saat sistem operasi belum di-boot.
  • Keamanan - Mesin virtual boot dan terlindung aman membantu melindungi terhadap perangkat lunak perusak dan akses tidak sah lainnya ke mesin virtual dan datanya.

Kebutuhan sistem dan spesifikasi

Untuk dapat mengimplementasikan virtualisasi server berbasis Microsoft Hyper-V, dibutuhkan beberapa syarat sebagai berikut:

- Sistem operasi yang berfungsi sebagai Host. Gunakan sistem operasi terbaru seperti Microsoft Windows Server 2008 R2 SP1.

- Prosesor yang digunakan adalah x86-64 (prosesor 64 bit)

- Prosesor mempunyai kemampuan hardware assisted virtualization. Jika menggunakan prosesor intel dikenal dengan istilah intel-vt sedangkan untuk prosesor AMD dikenal dengan AMD-V.

- Memori minimum untuk host 2 GB

- Sistem operasi guest :

·         Hyper-V mendukung sampai 4 prosesor

·         Mendukung sampai 384 VM per sistem

·         Mendukung sistem operasi 32-bit dan 64-bit

Hyper-V adalah teknologi virtualisasi berbasis hypervisor. Hyper-V menggunakan hypervisor Windows, yang membutuhkan prosesor fisik dengan fitur tertentu. 
Pada kebanyakan kasus, hypervisor mengelola interaksi antara perangkat keras dan mesin virtual. Akses hypervisor-controlled ke perangkat keras ini memberi mesin virtual lingkungan yang terisolasi dimana mereka beroperasi. Dalam beberapa konfigurasi, mesin virtual atau sistem operasi yang berjalan di mesin virtual memiliki akses langsung ke grafis, jaringan, atau perangkat keras penyimpanan.

Hyper-V mengimplementasikan isolasi mesin virtual dalam hal partisi . Partisi adalah unit isolasi yang logis, didukung oleh hypervisor, di mana setiap sistem operasi tamu dijalankan. Contoh hypervisor harus memiliki setidaknya satu partisi induk , menjalankan versi Windows Server yang didukung (2008 dan yang lebih baru). Tumpukan virtualisasi berjalan di partisi induk dan memiliki akses langsung ke perangkat keras. Partisi induknya kemudian menciptakan partisi anak yang menampung OS tamu.Partisi induk membuat partisi anak menggunakan API hypercall , yang merupakan antarmuka pemrograman aplikasi yang terpapar oleh Hyper-V. 
Partisi anak tidak memiliki akses ke prosesor fisik, juga tidak menangani interupsi sebenarnya. Sebagai gantinya, ia memiliki pandangan virtual prosesor dan berjalan di Guest Virtual Address , yang, tergantung pada konfigurasi hypervisor, mungkin tidak harus menjadi keseluruhan ruang alamat virtual .Bergantung pada konfigurasi VM, Hyper-V hanya bisa mengekspos sebagian dari prosesor ke setiap partisi. Hypervisor menangani interrupts ke prosesor, dan mengalihkannya ke partisi masing-masing menggunakan Physical Synthetic Interrupt Controller (SynIC). Perangkat keras Hyper-V dapat mempercepat terjemahan alamat Ruang Alamat Virtual Tamu dengan menggunakan terjemahan alamat tingkat kedua yang disediakan oleh CPU, disebut EPT pada Intel dan RVI (dahulu NPT) pada AMD.
Partisi anak tidak memiliki akses langsung ke sumber daya perangkat keras, namun memiliki pandangan virtual tentang sumber daya, dalam hal perangkat virtual . Setiap permintaan ke perangkat virtual dialihkan melalui VMBus ke perangkat di partisi induk, yang akan mengelola permintaan. VMBus adalah saluran logis yang memungkinkan komunikasi antar-partisi. Respon juga dialihkan melalui VMBus. Jika perangkat di partisi induk juga perangkat virtual, maka akan diarahkan lebih jauh sampai mencapai partisi induk, di mana ia akan mendapatkan akses ke perangkat fisik. Partisi induk menjalankan Virtualization Service Provider (VSP), yang terhubung ke VMBus dan menangani permintaan akses perangkat dari partisi anak. Perangkat virtual partisi anak menjalankan Klien Virtualization Service (VSC) secara virtual, yang mengarahkan ulang permintaan ke VSP di partisi induk melalui VMBus. Seluruh proses ini transparan ke OS tamu.
Perangkat virtual juga dapat memanfaatkan fitur Windows Server Virtualization, yang diberi nama Enlightened I / O , untuk penyimpanan, jaringan dan subsistem grafis, antara lain. I / O yang tercerahkan adalah penerapan protokol komunikasi tingkat tinggi yang sadar-intuitif, seperti SCSI , yang memungkinkan melewati lapisan emulasi perangkat dan memanfaatkan VMBus secara langsung. Hal ini membuat komunikasi lebih efisien, namun membutuhkan OS tamu untuk mendukung Enlightened I / O.



Sekian penjelasan singkat, apabila ada kesalahan mohon maaf.😌





Referensi :
http://blog.dsolusindo.com/cara-menggunakan-hyper-v/
http://muhammadsofjanrizal.blogspot.co.id/2014/04/contoh-contoh-virtual-machine-dan.html
http://www.cloudindonesia.or.id/?s=Hyper-V
https://en.wikipedia.org/wiki/Hyper-V


Kamis, 28 September 2017

PENGANTAR STATISTIKA


Sejarah Statistika

Penggunaan istilah statistika berakar dari istilah istilah dalam bahasa latin modern statisticum collegium ("dewan negara") dan bahasa Italia statista ("negarawan" atau "politikus").
Gottfried Achenwall (1749) menggunakan Statistik dalam bahasa Jerman untuk pertama kalinya sebagai nama bagi kegiatan analisis data kenegaraan, dengan mengartikannya sebagai "ilmu tentang negara (state)". Pada awal abad ke-19 telah terjadi pergeseran arti menjadi "ilmu mengenai pengumpulan dan klasifikasi data". Sir John Sinclair memperkenalkan nama (Statistics) dan pengertian ini ke dalam bahasa Inggris. Jadi, statistika secara prinsip mula-mula hanya mengurus data yang dipakai lembaga-lembaga administratif dan pemerintahan. Pengumpulan data terus berlanjut, khususnya melalui sensus yang dilakukan secara teratur untuk memberi informasi kependudukan yang berubah setiap saat.
Pada abad ke-19 dan awal abad ke-20 statistika mulai banyak menggunakan bidang-bidang dalam matematika, terutama peluang. Cabang statistika yang pada saat ini sangat luas digunakan untuk mendukung metode ilmiahstatistika inferensi, dikembangkan pada paruh kedua abad ke-19 dan awal abad ke-20 oleh Ronald Fisher (peletak dasar statistika inferensi), Karl Pearson (metode regresi linear), dan William Sealey Gosset (meneliti problem sampel berukuran kecil). Penggunaan statistika pada masa sekarang dapat dikatakan telah menyentuh semua bidang ilmu pengetahuan, mulai dari astronomi hingga linguistika. Bidang-bidang ekonomibiologi dan cabang-cabang terapannya, serta psikologi banyak dipengaruhi oleh statistika dalam metodologinya. Akibatnya lahirlah ilmu-ilmu gabungan seperti ekonometrikabiometrika (atau biostatistika), dan psikometrika.
Meskipun ada pihak yang menganggap statistika sebagai cabang dari matematika, tetapi sebagian pihak lainnya menganggap statistika sebagai bidang yang banyak terkait dengan matematika melihat dari sejarah dan aplikasinya. Di Indonesia, kajian statistika sebagian besar masuk dalam fakultas matematika dan ilmu pengetahuan alam, baik di dalam departemen tersendiri maupun tergabung dengan matematika.

Pengertian Statistika

Statistika adalah bagian dari matematika yang secara khusus membicarakan cara-cara pengumpulan, analisis dan penafsiran data. Dengan kata lain, istilah statistika di sini digunakan untuk menunjukan tubuh pengetahuan (body of knowledge) tentang cara-cara penarikan sampel (pengumpulan data), serta analisis dan penafsiran data. (Furqon, 1999:3)
Gasperz (1989:20) juga menyatakan bahwa “statistika adalah ilmu pengetahuan yang berhubungan dengan cara-cara pengumpulan data, pengolahan serta penganalisisannya, penarikan kesimpulan serta pembuatan keputusan yang cukup beralasan berdasarkan fakta yang ada”. Somantri (2006:17) juga menyatakan hal yang sama bahwa “statistika dapat diartikan sebagai Ilmu pengetahuan yang mempelajari tentang bagaimana cara kita mengumpulkan, mengolah, menganalisis dan menginterpetasikan data sehingga dapat disajikan lebih baik”.
Ketiga pengertian statistika tersebut sama halnya dengan pengertian ilmu statistik yaitu “Ilmu Statistik adalah kumpulan dari cara-cara dan aturan-aturan mengenai pengumpulan, pengolahan, penafsiran dan penarikan kesimpulan dari data berupa angka-angka” (Pasaribu, 1975:19).
Jadi statistika adalah ilmu pengetahuan yang mempelajari tentang cara dan aturan pengumpulan, pengolahan, penganalisaan, penarikan kesimpulan dan pengambilan keputusan berdasarkan data dan analisis yang dilakukan.

Metode dalam Statistika
Metode Statistika adalah bagaimana cara-cara mengumpulkan data atau fakta,mengolah, menyajikan, dan menganalisa, penarikan kesimpulan serta pembuatan keputusan yang cukup beralasan berdasarkan fakta dan penganalisaan yang dilakukan.
Macam metode statistika
Metode statistika digolongkan menjadi dua yaitu Metode Statistika Deskriptif dan Metode Statistika Inferensia.
1.      Statistika Deskriptif (Statistik Deduktif)
 Berikut adalah ruang lingkup Statistika Deskriptif menurut beberapa ahli:
Somantri (2006:19) berpendapat bahwa statistika deskriptif membahas cara-cara pengumpulan data, penyederhanaan angka-angka pengamatan yang diperoleh (meringkas dan menyajikan), serta melakukan pengukuran pemusatan dan penyebaran data untuk memperoleh informasi yang lebih menarik, berguna dan mudah dipahami.
Furqon (1999:3) menyatakan bahwa statistika deskriptif bertugas hanya untuk memperoleh gambaran (description) atau ukuran-ukuran tentang data yang ada di tangan. Pasaribu (1975:19) mengemukakan bahwa statistika deskriptif ialah bagian dari statistik yang membicarakan mengenai penyusunan data ke dalam daftar-daftar atau jadwal, pembuatan grafik-grafik, dan lain-lain yang sama sekali tidak menyangkut penarikan kesimpulan.
Jadi statistika deskriptif adalah statistik yang membahas mengenai pengumpulan, pengolahan, penyajian, serta penghitungan nilai-nilai dari suatu data yang digambarkan dalam tabel atau diagram dan tidak menyangkut penarikan kesimpulan.
2.      Statistika Inferensia (statistik induktif)
Somantri (2006:19) menyatakan bahwa statistika inferensia membahas mengenai cara menganalisis data serta mengambil keputusan (berkaitan dengan estimasi parameter dan pengujian hipotesis. Menurut Sudijono (2008:5), statistika inferensial adalah statistik yang menyediakan aturan atau cara yang dapat dipergunakan sebagai alat dalam rangka mencoba menarik kesimpulan yang bersifat umum, dari sekumpulan data yang telah disusun dan diolah.
Subana (2000:12) mengemukakan statistika inferensial adalah statistika yang berhubungan dengan penarikan kesimpulan yang bersifat umum dari data yang telah disusun dan diolah. Jadi statistika inferensial adalah statistik yang mempelajari tentang bagaimana pengambila keputusan dilakukan.

DATA DAN JENIS JENISNYA

A.    Pengertian data
Data adalah sesuatu yang belum mempunyai arti bagi penerimanya dan masih memerlukan adanya suatu pengolahan. Data bisa berujut suatu keadaan, gambar, suara, huruf, angka, matematika, bahasa ataupun simbol-simbol lainnya yang bisa kita gunakan sebagai bahan untuk melihat lingkungan, obyek, kejadian ataupun suatu konsep.
Informasi merupakan hasil pengolahan dari sebuah model, formasi, organisasi, ataupun suatu perubahan bentuk dari data yang memiliki nilai tertentu, dan bisa digunakan untuk menambah pengetahuan bagi yang menerimanya. Dalam hal ini, data bisa dianggap sebagai obyek dan informasi adalah suatu subyek yang bermanfaat bagi penerimanya. Informasi juga bisa disebut sebagai hasil pengolahan ataupun pemrosesan data.

B.      Jenis-jenis data

A.    Berdasarkan sumbernya

1)      Data internal
Data internal ialah data yang menggambarkan keadaan dalam suatu organisasi. Misalnya data internal perusahaan yang meliputi data pegawai, data keuangan, data peralatan, data produksi, data pemasaran, dan data hasil penjualan. Pada dasarnya data internal meliputi data input dan data output suatu organisasi.
2)      Data eksternal
Data eksternal ialah data yang menggambarkan keadaan diluar organisasi. Misalnya data yang menggambarkan faktor-faktor yang mempengaruhi perusahaan, seperti daya beli masyarakat, selera masyarakat, saingan dari barang sejenis, perkembangan harga, keadaan ekonomi dan sebagainya.
B.     Berdasarkan Cara Memperolehnya

1.       Data primer
Data primer adalah data yang dikumpulkan dan diolah sendiri oleh suatu perusahaan atau organisasi.
Contoh : biro pusat statistik mengumpulkan harga sembilan bahan pokok langsung mendatangi pasar kemudian mengolahnya.


2.       Data sekunder
Data sekunder adalah data yang diperoleh suatu organisasi atau perusahaan dalam bentuk yang sudah jadi dari pihak lain.
Contoh : perusahaan memperoleh data penduduk, data pendapatan nasional, indeks harga konsumen, dan daya beli masyarakat dari Badan Pusat Statistik (BPS).
C.    Berdasarkan sifatnya

1.      Data kualitatif
Data yang tidak berbentuk angka (bilangan).
Contoh : penjualan merosot, mutu barang naik, karyawan resah, harga daging naik, dan sebagainya.
2.      Data kuantitatif
Data yang berbentuk angka (bilangan).
Contoh : produksi 100 unit/hari, omset penjualan naik 20%, jumlah karyawan 1.000 orang dan sebagainya.
Berdasarkan nilainya, data kuantitatif dibagi lagi menjadi :
·         Data diskrit
Data diskrit bersifat terkotak-kotak yaitu tidak dikonsepsikan adanya nilai-nilai diantara data (bilangan) yang satu dengan data (bilangan) lain yang terdekat (tidak ada angka desimal).
Contoh : jumlah karyawan 1.000 orang, penjualan 500 unit, dan sebagainya.
·         Data kontinu
Berbeda dengan data diskrit, diantara dua data kontinu dikonsepsikan adanya sejumlah nilai dengan jumlah yang tidak terhingga (terdapat angka desimal).
Contoh : tinggi badannya 165 cm, omset penjualan naik 20% dan sebagainya.
         
D.    Berdasarkan cara penyusunannya atau skalanya

1.      Data nominal
Data nominal ialah data statistik yang memuat angka yang tidak mempunyai arti apa-apa. Angka yang terdapat dalam data ini hanya merupakan tanda/simbol dari objek yang akan dianalisis.
contohnya data yang berkaitan dengan jenis kelamin: laki-laki atau perempuan.
Agar data tersebut dapat dianalisis dengan menggunakan statistik, data tersebut harus diubah menjadi angka, misalnya simbol laki-laki adalah angka 1 dan perempuan adalah angka 2.
2.      Data ordinal
Data ordinal adalah data statistik yang mempunyai daya berjenjang, tetapi perbedaan antara angka yang satu dan angka yang lainnya tidak konstan atau tidak memiliki interval yang tetap.
Contohnya hasil tes matematika dalam suatu kelompok belajar adalah sebagai berikut : Andri rangking ke-1; Budi rangking ke-2; Chica rangking ke-3. Angka satu diatas mempunyai nilai lebih tinggi daripada angka dua maupun angka tiga, tetapi data ini tidak bisa menunjukan perbedaan kemampuan antara Andri, Budi, Chica secara pasti. Rangking satu tidak berarti mempunyai kemampuan dua kali lipat dari rangking dua maupun mempunyai kemampuan tiga kali lipat dari rangking tiga. Perbedaan kemampuan antara rangking kesatu dengan ranging kedua mungkin tidak sama dengan perbedaan kemampuan antar rangking kedua dengan rangking ketiga.
3.      Data interval
Data interval adalah data yang jarak antara yang satu dan lainnya sama dan telah ditetapkan sebelumnya. Data interval tidak memiliki titik nol dan titik maksimum yang sebenarnya. Nilai nol dan titik maksimum tidak mutlak.
Misalnya jika suatu tes intelegensi menghasilkan nilai yang berkisar antara 0 sampai 200, nilai nol bukan menunjukan seseorang mempunyai kecerdasan yang minimal. nilai nol hanya menunjukkan tempat paling rendah dari prestasi pada tes tersebut dan nilai 200 menunjukkan tingkat tertinggi.
4.      Data rasio
Data rasio adalah jenis data yang mempunyai tingkatan tertinggi. Data ini selain mempunyai interval yang sama, juga mempunyai nilai nol (0) mutlak,
Misalnya hasil pengukuran panjang, tinggi, dan berat. Dalam data rasio nilai 0 betul-betul tidak mempunyai nilai. Jadi, nol kilometer tidak mempunyai panjang dan nol kilogram tidak mempunyai berat. Dalam data rasio terdapat skala yang menunjukan kelipatan, misalnya 20 meter adalah 2 ×10 meter, 15 kg adalah 3 ×5 kg. contoh lain dari data rasio adalah luas, volume dan sebagainnya.

E.     Berdasarkan Waktu Pengumpulannya

ü  Data Cross Section
Data cross-section adalah data yang menunjukkan titik waktu tertentu. Contohnya laporan keuangan per 31 desember 2006, data pelanggan PT. angin ribut bulan mei 2004, dan lain sebagainya.

ü  Data Time Series / Berkala
Data berkala adalah data yang datanya menggambarkan sesuatu dari waktu ke waktu atau periode secara historis. Contoh data time series adalah data perkembangan nilai tukar dollar amerika terhadap euro eropa dari tahun 2004 sampai 2006, jumlah pengikut jamaah nurdin m. top dan doktor azahari dari bulan ke bulan, dll.

SKALA PENGUKURAN STATISTIKA

Definisi Skala Pengukuran

Skala pengukuran adalah kesepakatan yang digunakan sebagai acuan atau tolak ukur untuk menentukan panjang pendeknya interval yang ada pada alat ukur sehinga alat ukur tersebut bila digunakan dalam pengukuran akan menghasilkan data. (Ramli : 2011).
Sebagai contoh, misalnya timbangan emas sebagai instrumen untuk mengukur berat emas, dibuat dengan skala mg dan akan menghasilkan data kuantitatif berat emas dalam satuan mg.
Sedangkan menurut Wikipedia, Skala pengukuran atau aras pengukuran memiliki empat tipe, sebagaimana dikembangkan konsepnya oleh seorang psikolog bernama Stanley Smith Stevens pada artikel di majalah Science berkepala On the theory of scales of measurements.

Macam macam Skala Pengukuran

1.      Skala nominal
Skala nominal adalah skala pengukuran paling sederhana. skala yang memungkinkan peneliti mengelompokkan objek, individual atau kelompok kedalam kategori tertentu dan disimbolkan dengan label atau kode tertentu, selain itu angka yang diberikan kepada obyek hanya mempunyai arti sebagai label saja dan tidak menunjukan tingkatan.
Skala nominal bersifat mutually excusive  atau setiap objek hanya memiliki satu kategori (Lababa : 2008)
Contoh umum yang biasa dipakai yaitu variabel jenis kelamin . Dalam hal ini hasil pengukuran tidak dapat diurutkan (wanita lebih tinggi dari pada lak-laki, atau sebaliknya), tetapi lebih pada perbedaan keduanya
2.       Skala ordinal
Adalah skala ranking, di mana kode yang diberikan memberikan urutan tertentu pada data, tetapi tidak menunjukkan selisih yang sama dan tidak ada nol mutlak. Contoh:
Skala nominal tidak hanya menyatakan kategori tetapi juga menyatakan peringkat kategori tersebut (Septyanto : 2008). hasil pengukuran skala ini dapat menggambarkan posisi atau peringkat tetapi tidak mnegukur jarak antar peringkat.
Tingkat pendidikan atau kekayaan, dalam pengukuran yang mengelompakan status sosial, hasil pengukuran tidak dapat memberikan informasi mengenai perbedaan antara status sosial (tinggi ke rendah, rendah ke sedang dan tinggi ke sedang) belum tentu sama.
Tingkat keparahan penyakit
Tingkat kesembuhan
Derajat keganasan kanker
3.      Skala interval
Skala interval adalah suatu skala pemberian angka pada klasifikasi atau kategori dari objek yang mempunyai sifat ukuran ordinal, ditambah satu sifat lain yaitu jarak atau interval yang sama dan merupakan ciri dari objek yang diukur. Sehingga jarak atau intervalnya dapat dibandingkan.
Skala interval bisa dikatakan tingkatan skala ini berada diatas skala ordinal dan nominal. Selanjutnya skala ini tidak mempunyai nilai nol mutlak sehingga tidak dapat diinterpretasikan secara penuh besarnya skor dari rasio tertentu.
Misalnya pada pengukuran suhu. Kalau ada tiga daerah dengan suhu daerah A = 10oC, daerah B = 15oC dan daerah C=20oC. Kita bisa mengatakan bahwa selisih suhu daerah B, 5oC lebih panas dibandingkan daerah A, dan selisih suhu daerah C dengan daerah B adalah 5oC. (Ini menunjukkan pengukuran interval sudah memiliki jarak yang tetap). Tetapi, kita tidak bisa mengatakan bahwa suhu daerah C dua kali lebih panas dibandingkan daerah A (artinya tidak bisa jadi kelipatan). Kenapa ? Karena dengan pengukuran yang lain, misalnya dengan Fahrenheit, di daerah A suhunya adalah 50oF, di daerah B = 59oF dan daerah C=68oF. Artinya, dengan pengukuran Fahrenheit, daerah C tidak dua kali lebih panas dibandingkan daerah A, dan ini terjadi karena dalam derajat Fahrenheit titik nolnya pada 32, sedangkan dalam derajat Celcius titik nolnya pada 0.
Skala interval ini sudah benar-benar angka dan, kita sudah dapat menerapkan semua operasi matematika serta peralatan statistik kecuali yang berdasarkan pada rasio seperti koefisien variasi.
4.      Skala rasio
Skala rasio adalah skala pengukuran yang paling tinggi di mana selisih tiap pengukuran adalah sama dan mempunyai nilai nol mutlak. Skala rasio mempunyai semua sifat skala interval ditambah satu sifat yaitu memebrikan keterangan tentang nilai absolut dari objek yang diukur. Skala rasio merupakan skala pengukuran  yang ditujukan pada hasil pengukuran yang bisa dibedakan, diurutkan, mempunyai jarak tertentu, dan bisa dibandingkan (paling lengkap, mencakup semuanya dibanding skala-skala dibawahanya).
Contoh : Bila kita ingin membadingkan berat dua orang . Berat Fulan1 40Kg dan Fulan2 80Kg. Kita dapat tahu bahwa fulan2 dua kali lebih berat daripada Fulan1, karena nilai variabel numerik berat mengungkapkan rasio dengan nilai nol sebagai titik bakunya.
Contoh:
Panjang, berat badan, usia
Kadar zat dan jumlah sel tertentu
Dosis obat, dll                                                                                                        
Skala pengukuran interval dan rasio biasanya dikenai alat statistik parametrik




Referensi :

https://id.wikipedia.org/wiki/Statistika
eBook mengenai pengantar statistika
eBook mengenai statistika dasar