Senin, 24 Oktober 2016

Thread pada linux

Thread Linux


   Ketika pertama kali dikembangkan, Linux tidak didukung dengan threading di dalam kernelnya, tetapi dia mendukung proses-proses sebagai entitas yang dapat dijadwalkan melalui clone() system calls. Sekarang Linux mendukung penduplikasian proses menggunakan system call clone() dan fork(). Clone() mempunyai sifat mirip dengan fork(), kecuali dalam hal pembuatan copy dari proses yang dipanggil dimana ia membuat sebuah proses yang terpisah yang berbagi address space dengan proses yang dipanggil. Pembagian address space dari parent process memungkinkan cloned task bersifat mirip dengan thread yang terpisah. Pembagian address space ini dimungkinkan karena proses direpresentasikan di dalam Kernel Linux.
   Di dalam Kernel Linux setiap proses direpresentasikan sebagai sebuah struktur data yang unik. Jadi, daripada menciptakan yang baru maka struktur data yang baru mengandung pointer yang menunjuk ke tempat dimana data berada. Jadi ketika fork() dipanggil, proses yang baru akan tercipta beserta duplikasi dari segala isi di struktur data di parent process, namun ketika clone() dipanggil, ia tidak menduplikasi parent processnya tetapi menciptakan pointer ke struktur data pada parent process yang memungkinkan child process untuk berbagi memori dan sumber daya dari parent processnya. 
   Project LinuxThread menggunakan system call ini untuk mensimulasi thread di user space. Sayangnya, pendekatan ini mempunyai beberapa kekurangan, khususnya di area signal handling, scheduling, dan interprocess synchronization primitive.Untuk meningkatkan kemampuan Thread Linux, dukungan kernel dan penulisan ulang pustaka thread sangat diperlukan. Dua project yang saling bersaing menjawab tantangan ini. Sebuah tim yang terdiri dari pengembang dari IBM membuat NGPT (Next Generation POSIX Threads). Sementara pengembang dari Red Hat membuat NPTL (Native POSIX Thread Library).Sebenarnya Linux tidak membedakan antara proses dan thread. Dalam kenyataannya, Linux lebih menggunakan istilah task dibandingkan proses dan thread ketika merujuk kepada pengaturan alur pengontrolan di dalam program.

Penjadwalan CPU
Penjadwalan CPU adalah pemilihan proses dari antrian ready untuk dapat dieksekusi. Penjadwalan CPU juga merupakan konsep dari multiprogramming, dimana CPU digunakan secara bergantian untuk proses yang berbeda. Suatu proses terdiri dari dua siklus yaitu Burst I/O dan Burst CPU yang dilakukan bergantian hingga proses selesai. Penjadwalan CPU mungkin dijalankan ketika proses:
1.  running ke waiting time
2.  running ke ready state
3.  waiting ke ready state

4.  terminates

Proses 1 dan 4 adalah proses Non Preemptive, dimana proses tersebut tidak bisa di- interrupt, sedangkan 2 dan 3 adalah proses Preemptive, dimana proses boleh di interrupt.
Pada saat CPU menganggur, maka sistem operasi harus menyeleksi proses-proses yang ada di memori utama (ready queue) untuk dieksekusi dan mengalokasikan CPU untuk salah satu dari proses tersebut. Seleksi semacam ini disebut dengan shortterm scheduler (CPU scheduler).

·         Kriteria Penjadwalan
Algoritma penjadwalan CPU yang berbeda mempunyai property yang berbeda. Dalam memilih algoritma yang digunakan untuk situasi tertentu, kita harus memikirkan properti yang berbeda untuk algoritma yang berbeda. Banyak kriteria yang dianjurkan utnuk membandingkan penjadwalan CPU algoritma. Kriteria yang biasanya digunakan dalam memilh adalah :
1.   CPU Utilization
Kita ingin menjaga CPU sesibuk mungkin. CPU utilization akan mempunyai range dari 0 ke 100 persen. Di sistem yang sebenarnya seharusnya ia mempunyai range dari 40 persen samapi 90 persen
2.   Throughput
Jika cpu sibuk mengeksekusi proses, jika begitu kerja telah dilaksanakan. Salah satu ukuran kerja adalah banyak proses yang diselesaikan per unit waktu, disebut througput. Untuk proses yang lama mungkin 1 proses per jam ; untuk proses yang sebentar mungkin 10 proses perdetik.
3.   Turnaround time
Dari sudur pandang proses tertentu, kriteria yang penting adalah berapa lama untuk mengeksekusi proses tersebut. Interval dari waktu yang dijinkan dengan waktu yang dibutuhkan untuk menyelesaikan sebuah prose disebut turn around time. Trun around time adalah jumlah periode untuk menunggu untuk bisa ke memori, menunggu di ready queue, eksekusi di CPU, dan melakukan I/O.
4.   Waiting time
Algoritma penjadwalan cpu tidak mempengaruhi waktu untuk melaksanakan proses tersebut atau I/O; itu hanya mempengaruhi jumlah waktu yang dibutuhkan proses di antrian ready. Waiting time adalah jumlah periode menghabiskan di antrian ready.
5.   Response time
Di sistem yang interaktif, turnaround time mungkin bukan waktu yang terbaik untuk kriteria. Sering sebuah proses bisa memproduksi output diawal, dan bisa meneruskan hasil yang baru sementara hasil yang sebelumnya telah diberikan ke user. Ukuran yang lain adalah waktu dari pengiriamn permintaan sampai respon yang pertama di berikan. Ini disebut response time, yaitu waktu untuk memulai memberikan respon, tetapi bukan waktu yang dipakai output untu respon tersebut.
Biasanya yang dilakukan adalah memaksimalkan CPU utilization dan throughput, dan minimalkan turnaround time, waiting time, dan response time dalam kasus tertentu kita mengambil rata-rata.

Konsep Thread

Thread merupakan unit dasar dari penggunaan CPU, yang terdiri dari Thread_ID, program counter, register set,danstack  . Sebuah thread  berbagi code section, datasection, dan sumber daya sistem operasi dengan Thread lain yang dimiliki oleh prosesyang sama dan Thread juga sering disebut lightweight process.

Keuntungan Thread :

-        -  Responsif
-        -  Berbagai sumber daya
-        -  Ekonomis
-        -  Utilisasi arsitektur multiprosessor

Thread kernel :

Thread kernel didukung langsung oleh sistem operasi. Pembuatan,penjadwalan, dan manajemen thread  dilakukan oleh kernel pada kernel space
Thread diatur  oleh  kernel,  karena  itu  jika  sebuah thread menjalankan blocking system call  maka kernel dapat menjadwalkan thread lain diaplikasi untuk melakukan eksekusi.
Pada lingkungan multiprocessor, kernel dapat menjadwal thread-thread pada processor yang berbeda. Contoh sistem operasi yang mendukung kernel thread adalah Windows NT, Solaris, Digital UNIX.
Thread Cancellation :

Thread cancellation adalah pemberhentian thread sebelum tugasnya selesai.Pemberhentian target

thread dapat terjadi melalui dua cara yang berbeda:

1. Asynchronous cancellation : suatu thread seketika itu juga memberhentikan target thread

2. Defered cancellation : target thread secara perodik memeriksa apakah dia harusberhenti, cara ini memperbolehkan target thread untuk memberhentikan dirinya sendirisecara terurut.


Thread Kernel Linux :

Linus Torvalds mendefinisikan bahwa sebuah thread adalah Context of Execution (COE),yang berarti bahwa hanya ada sebuah Process Control Block (PCB) dan sebuahpenjadwal yang diperlukan. Linux tidak mendukung multithreading, struktur data yangterpisah, atau pun rutin kernel.

Linux menyediakan 2 system call yaitu :

1.Fork  memiliki fungsi untuk menduplikasi proses dimana proses anak yang dihasilkanbersifat

Independent.

2. Clone memiliki sifat yang mirip dengan fork yaitu sama-sama membuat duplikat dariproses induk.

Daftar Pustaka : https://hanatahan.wordpress.com/2011/03/28/konsep-proses-pada-sistem-operasi-linux/


Kamis, 13 Oktober 2016

Contoh Data Empiris Beserta Grafik

Sebanyak 12 orang mahasiswa terpilih sebagai sampel dalam penelitian di sebuah universitas. Mahasiswa yang terpilih tersebut diukur tinggi badannya. Hasil pengukuran berat badan disajikan tabel berikut



Dan berikut adalah grafik dari data empiris diatas:

- Pie Chart




- Ogive




- Histogram





Daftar Pustaka : http://intanridhaputri.blogspot.co.id/

Minggu, 19 Juni 2016

Dampak Komputer terhadap Perkembangan Bisnis



Sejak dulu manusia sudah menggunakan teknologi. Manusia menggunakan teknologi karena memiliki akal dan pikiran. Dengan akalnya, ia ingin keluar dari masalah, ingin hidup lebih baik, lebih aman dan sebagainya. Perkembangan teknologi terjadi karena seseorang menggunakan akal dan pikirannya untuk menyelasaikan masalah yang dihadapinya. Tentu perkembangan teknologi ini menyebabkan perubahan yang begitu besar pada kehidupan manusia. Perubahan ini juga memberikan dampak positif terhadap nilai – nilai yang ada di masyarakat.  
 
Salah satu teknologi yang sangat berkembang pesat didalam semua aspek teknologi adalah komputer. Dimana dengan adanya komputer, semua bisa dilakukan dengan mudah. Salah satunya saat mengetik suatu teks. Apabila dahulu mengetik menggunakan mesin ketik maka sekarang sudah menggunakan komputer. Hal tersebut merupakan salah satu penerapan komputer yang sangat membantu manusia. Selain itu, komputer dapat menggunakan teknologi informasi untuk mengembangkan sebuah bisnis dan wirausaha.

Manfaat komputer juga dirasakan bagi para wirausahawan. Meski telah meredup, usaha warnet pernah menjadi bisnis dengan keuntungan menggiurkan. Bermodalkan beberapa  komputer dan koneksi internet mumpuni, Anda dapat meraup penghasilan di atas rata-rata. Selain warnet, usaha lain seperti warung game online, rental komputer, percetakan, dan sebagainya pun sangat tergantung pada komputer. Tidak heran jika sampai sekarang komputer masih dipakai dalam bisnis-bisnis mandiri.

Bisnis biasanya dilakukan oleh banyak perusahaan. Perusahaan dapat memperluas penjualan mereka melalui bisnis penjualan online. Penjualan online dapat mengurangi pengeluaran perusahaan. Pengeluaran perusahaan dapat lebih difokuskan pada pengeluaran marketing dan gaji karyawan. Selain itu, penjualan online juga dapat mempermudah bertransaksi dengan konsumen. “Dampak yang terjadi akibat banyaknya penjualan online yaitu masyarakat dapat dengan mudah mengikuti perkembangan teknologi informasi” (Sovian, 2011).

Daftar Pustaka 

Sovian, Riandi. 2011. Manfaat Teknologi Informasi di Berbagai Bidang. http://www.plimbi.com/. Diunduh tanggal 22/06/2016



Jumat, 17 Juni 2016

Peranan Komputer Untuk Manusia



Di era globalisasi ini banyak hal yang dapat dilakukan seseorang dengan komputer. Komputer adalah alat bantu untuk mempermudah pekerjaan manusia. Seringkali pekerjaan sekarang menuntut kebanyakan orang untuk dapat mengoperasikan komputer. Sebab dengan penggunaan komputer dapat mempercepat suatu pekerjaan. Selain itu, komputer juga dapat mengakses informasi dari seluruh dunia. “Teknologi informasi merujuk pada teknologi untuk membuat, menyimpan, mengubah, dan menggunakan informasi dalam segala bentuknya” (Mc Keown,2001)
 
Salah satu peranan komputer juga membantu dalam bidang kesehatan. Contohnya di dalam rumah sakit, dokter dapat memantau kesehatan pasien dengan mudah. Kesehatan pasien dipantau melalui komputer agar dapat mengetahui aliran darah dan detak jantung. Terdapat juga sinar X yang terhubung dengan komputer untuk memeriksa organ dalam pasien. Sebagai contoh seorang pasien yang sedang sakit asma dapat diperiksa paru-parunya oleh dokter menggunakan sinar X.

Selain itu, komputer juga berperan sebagai saran informasi, sarana usaha, dan sarana kontrol. Dalam sarana informasi komputer membantu pengguna dalam menemukan informasi seperti, informasi tempat hiburan. Untuk sarana usaha, komputer digunakan untuk menghasilkan banyak uang seperti, membuka usaha rental komputer. Pengguna komputer yang memiliki kemampuan memperbaiki komputer dapat juga membuka jasa perbaikan komputer. Kemudian, pada saran kontrol komputer digunakan untuk mengatur dan memantau cara kerja alat-alat di perkantoran seperti, mengontrol kamera cctv.


Daftar Pustaka:
Agung Prasetya.2014.Manfaat komputer dalam kehidupan sehari-hari.u-trik.com

Hardware Komputer



Perangkat keras komputer atau hardware merupakan perangkat komputer yang dapat dilihat secara fisik. Secara fisik, komputer terdiri dari beberapa komponen yang merupakan suatu sistem. Sistem adalah komponen-komponen yang saling bekerja sama untuk menacapai tujuan yang sama. Apabila salah satu komponen tidak berfungsi, akan mengakibatkan tidak berfungsinya proses-proses yang ada komputer dengan baik. Komponen komputer ini termasuk dalam kategori elemen perangkat keras . “Hardware merupakan bagian perangkat keras yang bekerja sesuai dengan intruksi software” (Raya fahreza, 1982).

Komponen dasar pada komputer terdiri dari alat input, alat proses, media penyimpanan, dan alat output. Alat input adalah alat untuk memasukkan data yang akan diproses dalam komputer. Contoh alat input antara lain keyboard, mouse dan scanner. Alat proses adalah untuk memproses data yang telah dimasukkan kedalam komputer. Contoh alat proses adalah CPU, motherboard, dan processor. Media penyimpanan adalah tempat menyimpan data yang sudah diproses maupun belum diproses. Contoh media penyimpanan adalah RAM, ROM, dan Harddisk.

Alat output adalah alat untuk menampilkan hasil kerja. Contoh alat output seperti monitor, printer, dan speaker. Monitor adalah perangkat keras yang digunakan sebagai alat output data secara grafis. Printer adalah perangkat keras yang bisa digunakan untuk keperluan mencetak tulisan, gambar, dan grafik. Speaker adalah perangkat keras output yang berfungsi mengeluarkan hasil pemrosesan oleh CPU berupa suara.


Daftar Pustaka

Vicky. 2011. Pengertian Hardware (perangkat keras) Komputer. http://belajar-komputer-mu.com/pengertian-hardware-perangkat-keras-komputer/

Jumat, 22 April 2016

Software Komputer


Kemajuan Teknologi informasi dan komunikasi berkembang dengan pesat hingga berbagai kemudahan diperoleh dari teknologi. Diantara teknologi tersebut, yang hampir sering kita temukan adalah Komputer. Komputer tersebut, merupakan suatu kesatuan yang tidak dapat dipisahkan dari yang namanya Software (perangkat lunak). Seiring perkembangan komputer, maka software pun ikut berkembang dengan pesat. Software yang kita gunakan sekarang ini tidak muncul begitu saja, melainkan melalui proses yang panjang.
Software adalah program komputer atau sekumpulan data elektronik yang disimpan dan diatur oleh komputer yang berfungsi sebagai penghubung antara User (pengguna komputer) dengan Hardware (perangkat keras). Software mempunyai sifat yang berbeda dengan hardware. Jika Hardware merupakan komponen yang nyata yang dapat diliat dan disentuh oleh manusia , maka Software merupakan sesuatu yang tidak dapat disentuh dan dilihat secara fisik. Software memang tidak dapat tampak secara fisik tapi kita dapat mengoperasikannya.  Melalui software inilah suatu komputer dapat menjalankan suatu perintah.
Software memiliki banyak jenis yang bisa digunakan untuk membantu dalam menyelesaikan tugas.  Secara garis besar software dapat dibagi menjadi 5 bagian. Pertama adalah OS (Operating Syistem), software ini adalah software yang pertama kali harus di install pada komputer. Fungsi dari software tersebut adalah sebagai perantara antara aplikasi dengan hardware. Kemudian ada software aplikasi yang bertujuan mempermudah pekerjaan manusia, antara lain adalah Microsoft word sebagai aplikasi pengolah kata, kemudian ada Adobe photoshop sebagai pengolah gambar. Selanjutnya ada bahasa pemrograman, software ini digunakan untuk membuat aplikasi. Kemudian yang keempat yaitu Firmware, Firmware merupakan software yang mengacu pada perangkat lunak yang disimpan dalam memori. Terakhir adalah Malware, Malware atau perangkat perusak merupakan perangkat lunak yang diciptakan oleh perintahnya untuk merusak sistem komputer.

Daftar Pustaka :

Pengertian Software (Perangkat Lunak) serta Definisi Software menurut para ahli. http://www.definisi-pengertian.com/2015/09/definisi-pengertian-software-perangkat-lunak-ahli.html?m=1

Perkembangan Komputer


            Pada awalnya komputer hanya dipergunakan untuk melakukan perhitungan aritmatika. Namun, sekarang ini Komputer diartikan kepada sebuah perangkat mesin tersebut. Dalam pengertian yang paling mendasar, Komputer adalah perangkat yang membantu manusia dalam melakukan berbagai macam perhitungan. Dalam hal ini, komputer pertama yaitu abacus  atau sempoa yang digunakan untuk melakukan operasi aritmatika dasar. Abacus sendiri memungkinkan si penggunanya dapat melakukan perhitungan memakai biji-bijian yang diatur pada sebuah rak.
            Dalam sejarah  dan perkembangan komputer, terdapat 4 generasi. Komputer generasi pertama ditemukan pada tahun 1940-1950, salah satu contohnya adalah ENIAC(Electronic Numerical Integrator And Computer). Komputer ini masih menggunakan tabung vakum yang besar. Komputer di generasi selanjutnya muncul setelah ditemukan transistor, yang kemudian mulai menggantikan tabung vakum dalam desainnya. Komputer tersebut ditemukan pada tahun 1950-1960. Di generasi ke 3, komputer yang digunakan berbentuk jauh lebih kecil  dibandingkan generasi sebelumnya. Komputer di generasi ini sudah menggunakan IC ( Integrated Circuit). Pada generasi ke 4, komputer menggunnakan microprocessor sebagai komponen utamanya. Salah satu contoh komputer dari generasi ini adalah IBM PC.