Selasa, 28 Mei 2019

Cara install OpenCV di Windows menggunakan anaconda

Download Packages nya disini. Setelah terdownload, copy paste file nya ke direktori anaconda.


Selanjutnya buka Anaconda Navigator, masuk ke menu Environment, lalu klik base(root) open terminal.


Ketikkan perintah pip install c:\(lokasi file opencv)\opencv_python-4.1.0-cp37-cp37m-win_amd64.whl di command prompt, lalu tekan Enter.


setelah ter-install berikut contoh codenya.


Bila kurang jelas bisa di lihat video dibawah.











Senin, 27 Mei 2019

Cara Penggunaan Kaggle

Apa itu Kaggle ? Kaggle adalah salah satu komunitas terbesar ilmuwan data atau data scientist di seluruh dunia. Di sini para data scientist bisa berkompetisi menyelesaikan permasalahan ilmiah berdasarkan data yang kompleks biasa disebut Big Data. Cara penyelesaiannya bisa individu atau berkelompok. Lama pengerjaan tiap kompetisi relatif, bisa dalam hitungan bulan hingga tahun. Pemenangnya akan mendapat fee atau reward yang nilainya berbeda setiap kompetisi. Selain itu, pemenangnya biasanya juga diajak bergabung untuk menyelesaikan permasalahan bisnis yang sangat menarik dan sensitif dari perusahaan dunia  terbesar.

Lalu bagaimana caranya? Untuk langkah awal anda harus memiliki akun di kaggle.com



Setelah registrasi, lakukan aktivasi akun melalui gmail sebelum anda login.


Berikut tampilan setelah anda login.


Terdapat 5 menu pilihan yaitu Competition, Datasets, Kernel, Disscusion, Learn
 masuk  ke menu Kernel klik New Kernel untuk memulai project baru. Disini anda juga bisa melihat project orang lain ataupun bisa mem fork nya .


setelah membuat New Kernel anda dihadapkan pada dua pilihan yaitu, Script atau Notebook, disini saya memilih Notebook.


Di sini anda sudah bisa menulis atau  mengcopy kan project anda dari pc.


berikut proses cara menggunakan kaggle untuk pertama kali, Sekian terimakasih.











Langkah Instalasi Anaconda Navigator di Windows

Anaconda adalah sebuah distribusi bahasa pemrograman Python dan R untuk keperluan komputasi ilmiah atau scientific computing. Seperti data science, machine learning, data processing skala luas, analisa prediksi dan lain sebagainya.
Anaconda diciptakan untuk mempermudah pengguna memanajemen paket python. Dengan Anaconda maka versi dari paket yang ada di manajemen oleh package management system conda.

Berikut cara  atau langkah instalasi Anaconda di windows.

1.Untuk installer-nya bisa download disini. Yang saat ini saya contohkan
   adalah Anaconda versi 3.5.1.0 (64bit).


2. Setelah ter-download doble click pada installer Anaconda, Kemudian click next.

3. Kemudian read license, lalu click I Agree.

4. Kemudian pilih lokasi folder installer, kemudian click next.


5. Kemudian pilih add anaconda to PATH atau tidak. Pilih apakah akan mendaftarkan anaconda sebagai default Python 3.6?, kecuali anda berencana meng-install dan menjalankan beberapa versi anaconda, atau beberapa versi python, biarkan default dan biarkan kotak ini tercentang. Kemudiann click next.


6. Click tombol install, kemudian click next.

7. Click Skip untuk meng-install Anaconda tanpa Microsoft VS Code. Memasang VS Code dengan Anaconda membutuhkan koneksi internet. Pengguna offline mungkin dapat menemukan pemasangan offline VS Code dari Microsoft.


8.  Setelah instalasi selesai, anda akan melihat kotak dialog "Thanks for Installing Anaconda 3". Kemudian click Finish.


9. Untuk memastikan aplikasi dapat dijalankan, verifikasi dengan membuka Anaconda Navigator, program yang disertakan dengan Anaconda. Search di windows anda anaconda navigator. Jika muncul Anaconda Prompt maka anda telah berhasil meng-install nya.


Sekian untuk cara instalasi anaconda di windows.

Sabtu, 25 Mei 2019

Pengantar dasar multimedia

Definisi Multimedia

Multimedia adalah pemanfaatan komputer untuk membuat dan menggabungkan teks, audio, video, dan animasi dengan menggabungkan link dan tools yang memungkinkan pemakai melakukan navigasi, berinteraksi,berekreasi serta berkomunikasi.

Dalam definisi ini terkandung empat komponen penting multimedia yaitu,
  1. Harus ada komputer yang mengkoordinasikan apa yang di lihat dan di dengar.
  2. Harus ada link yang menghubungkan pemakai dengan informasi.
  3. Harus ada alat navigasi yang membantu pamakai menjelajah jaringan informasi yang saling terhubung.
  4. Multimedia menyediakan tempat kepada pemakai untuk mengumpulkan, memproses, dan mengkomunikasikan informasi dengan ide.

Elemen-Elemen Multimedia

Multimedia merupakan wadah penyatuan bebrapa media menjadi satu kesatuan.
Elemen-elemen dalam multimedia ialah,

1. Teks
Teks adalah jenis data yang paling dasar  serta menggunakan ruang penyimpanan paling sedikit. Media teks merupakan media yang paling mudah disimpan, diedit, dan sedikit dalam penggunaan memori dalam penyimpanannya. Adapun jenis media teks yaitu (Plain Text, Rich Format Text, Hyper Text). Untuk menarik perhatian pembaca kepada sesuatu bahan yang dilihat atau dibacanya, terdapat beberapa kesan yang boleh diberikan kepada font diantaranya (Case, Regular, Bold, Italic, Underline, Striketrough). Penggunaan teks dalam produk multimedia biasanya banyak bergantung pada common sense  dan kreativitas pengguna sendiri, mereka tidak menggunakan panduan dan kaidah-kadiah seperti yang telah di gariskan.

2. Gambar
Merupakan elemen terpenting dalam multimedia, sebab sebagian besar manusia hampir selalu berorientasi terhadap visual. Ada dua jenis media gambar, yaitu berbasis,

  • Vector                                                                                                    Gambar yang berbasis vector merupakan gambar yang menggunakan rumus-rumus matematika sebagai dasar untuk menampilkan gambar. Gambar dibentuk dari beberapa point. Dari beberapa point tersebut, diterapkan rumus-rumus matematika yang dapat diterjemahkan menjadi gambar. Karena berbasis vector, ketika di zoom gambar tidak rusak, karena gambar hanya berupa rumus-rumus matematika yang variabelnya dapat diubah-ubah.
  • Bitmap                                                                                                           Gambar bitmap adalah gambar yang didasarkan dari representasi bit-bit yang membentuk pixel dan warna. Kualitas gambar bitmap bergantung pada resolusi dan ketajaman warna. Resolusi merupakan ukuran panjang dan lebar suatu gambar, biasanya dinyatakan dalam ukuran pixel. Setiap pixel mengandung informasi warna. Informasi warna tiap pixel inilah yang biasanya menentukan kualitas suatu gambar.
File gambar dikenal dengan nama image, dan format gambar di komputer antara lain, BMP, JPG/JPEG, GIF, TIF, WMF, PCX, PDF, PNG, PIC, TGA, IFF, SCT, PXR, RAW, DCS.

3. Audio                                                                                                             Dalam multimedia, salahsatu elemen yang ada di dalamnya adalah audio. Menurut pakar multimedia yang bernama Lu,1999: Suara (audio) adalah sesuatu yang timbul disebabkan perubahan tekanan udara yang menjangkau gendang telinga manusia.
Penyajian audio merupakan cara lan untuk memperjelas pengertian suatu informasi.
Contohnya, narasi merupakan kelengkapan dari penjelasan yang dilihat melalui video. Suara dapat lebih menjelaskan karakteristik suatu gambar, misalnya musik dan suara efek, maupun suara asli.

Jenis Audio
  • Audio Analog                                                                                        Dihasilkan dengan bariasi dari tekanan suara asli. Variasi tekanan udara diubah terlebih dahulu oleh transuder (seperti microphone) ke listrik sinyal.
  • Audio Digital                                                                                         Mengubah sifat fisik dari suara asli ke dalam urutan angka, yang kemudian dapat disimpan dan dibaca kembali untuk reproduksi.
Macam-Macam Audio
Berbagai macam audio yang masing-masing memiliki kegunaan yang berbeda dapat dilihat sebagai berikut:
  • Audio Visual                                                                                          Perangkat sound sistem yang dilengkapi dengan penampilan gambar, biasanya digunakan untuk presentasi, home theater dan sebagainya.
  • Audio Streaming                                                                                   Istilah yang digunakan untuk mendengarkan siaran secara live melalui internet atau radio.
  • Audio Response                                                                                     Suara yang dihasilkan oleh komputer. Output pembicaraan yang dihasilkan komputer untuk menanggapi input jenis khusus misal, permintaan nomor telepon.
  • Audio Oscillator                                                                                    Merupakan produk dari perusahaan Hewlett Packard yang pertama. Produk ini digunakan oleh Walt Disney Studios dalam pembuatan filmnya.
  • Audio Modem Riser                                                                            Merupakan sebuah kartu plug-in untuk motherboard intel yang memuat sirkuit audio atau modem. AMR memuat dungsi-fungsi analog (kode-kode) yang diperlukan untuk operasi modem dan audio.
Format Audio
Audio memiliki beberapa format yang berbeda-beda tergantung dari penggunaan platformnya. Masing-masing format biasanya diikuti dengan perbedaan struktur berkas yang membentuk audio tersebut. Berikut beberapa format audio yaitu, (WMA, CDA, AAC, WAV, AIFF, MPEG/MP3, MIDI, OGG, RA).

4. Video 
Dalam pembuatan multimedia interaktif, penerapan video dalam multimedia sangat diperlukan sebab dalam implementasinya sangat mempengaruhi penggunaan dan penampilan dari karya multimedia interaktif itu sendiri.
Definisi dari video adalah teknologi yang digunakan untuk menangkap, merekam, memproses, mentransmisikan dan menata ulang gambar bergerak. Biasanya menggunakan film seluloid, sinyal elektronik, atau media digital.

Jenis Video
  • Analog Video                                                                                      Tersusun dari gelombang bersambung yang bervariasi, dengan kata lain nilai sinyal akan memiliki angka yang beragam tetapi terbatas pada batas maksimum dan minimum yang diijinkan.
  • Digital Video                                                                                            Digital video ditransmisikan hanya berupa titik presisi yang dipilih pada interval kurva. Tipe sinyal digital yang dapat dipakai oleh komputer adalah tipe binary (1 atau 0), 1 mewakili nilai maksimum dan 0 mewakili nilai niminum.
Kelebihan dari digita video yaitu,
- Ketepatan yang tinggi dalam proses transmisi (high fidelity).
- Dapat membedakan antara sinyal asli dengan nosie.
- Dapat ditransmisikan berulang-ulang tanpa mempengaruhi kualitasnya.

Istilah Dalam Video
- Jumlah gambar yang dilihat setiap detik disebut frame rate.
- Lebar dan tinggi frame video disebut dengan frame size, yang menggunakan satuan pixel.
- Bit depth menyatakan jumlah bit yang disampaikan untuk mendeskripsikan warna suatu pixel.
- Bit rate menentukan jumlah data yang ditampilkan saat video dimainkan. 

Kompresi Video
Adalah sebuah konversi data ke sebuah format yang lebih kecil, biasanya dilakukan sehingga data dapat disimpan atau disalurkan lebih efisien. Proses pengembalian data yang sudah dikecilkan disebut dekompresi. Dan bila proses dekompresi menghasilkan data yang sama dengan semula maka kompresi itu disebut lossless. Sedangkan bila data yang didekompresi menghasilkan data yang lebih kecil maka kompresi ini disebut lossy. Berikut beberapa contoh jenis kompresi video,
  • Kompresi DV25                                                                               Menggunakan rasio kompresi 5:1, dengan bit rate data video sebesar 25Mbps. Untuk durasi 1 jam video membutuhkan media penyimpanan 13 Gb.
  • Kompresi MPEG-2                                                                                MPEG merupakan singkatan dari Motion Pictures Expert Group, sebuah organisasi para professional dalam bidang film dan video yang menentukan peraturan standar industri dalam bidang ini, sendangkan angka 2 menyatakan versi dari standar ini.
  • Kompresi MPEG-1                                                                         Kompresi MPEG-1 merupakan metode kompresi yang diperuntukkan bagi distribusi video dan merupakan standar MPEG versi pertama. Kompresi ini memiliki ukuran frame size 352x240 pixel.
Jenis Format File Video
File video memiliki format yang berbeda-beda, bergantung pada aplikasi yang digunakan untuk menjalankannya (player). Beberapa contoh format file video yang dapat dijalankan melalui komputer maupun laptop yaitu, AVI, MPEG, WMV, DiVX, MP4, Quicktime, RealMedia, ASF, 3GP, Flash Video.

5. Animasi
Dalam multimedia, animasi merupakan penggunaan komputer untuk menciptakan gerak pada layar. Animasi dapat diartikan sebagai sebuah objek yang bergerak dinamis. Objek dapat berupa teks maupun bentuk-bentuk yang lainnya.
Animasi adalah proses penciptaan efek gerak atau perubahan bentuk yang terjadi selama beberapa waktu. Animasi bisa berupa gerak sebuah objek dati tempat yang satu ke tempat yang lain, perubahan warna, atau bentuk yang dinamakan "Morphing".
Secara sederhana prinsip kerja animasi adalah dengan :
- Menumpuk beberapa gambar secara bergantian dan berurutan.
- Mengubah nilai koordinat suatu objek sehingga diperoleh sebuah efek gambar yang hidup.

Perangkat Lunak Multimedia



Perangkat lunak multimedia adalah komponen-komponen dalam data processing system, berupa program-program untuk mengontrol bekerjanya system multimedia. Perangkat lunak ini digolongkan menjadi 3 bagian yaitu,
  • Bahasa Pemrograman Multimedia                                                    Adalah bahasa komputer yang digunakan programmer untuk membuat aplikasi multimedia, contohnya : Assembly, C, C++, PowerBuilder, Delphi, SQL, Visual Basic, Flash Programmer dan Java.
  • Perangkat Lunak Sistem                                                             Perangkat ini terdiri dari system operasi misal DOS, Windows, LINUX, UNIX dan Mac OS. Perangkat lunak lainnya adalah aplikasi utilitas seperti anti virus dll.
  • Perangkat Lunak Aplikasi                                                       Perangkat lunak aplikasi multimedia merupakan aplikasi-aplikasi yang dirancang oleh personal atau organisasi yang bergerak di bidang multimedia spesifik seperti grafik 2D, 3D modeling, sound editing, video editing, dll.
Jenis-jenis Perangkat Lunak Multimedia

1. Audio/Video Editor
Adalah jenis perangkat lunak yang digunakan untuk memanipulasi informasi dalam bentuk video maupun audio dengan melalui proses pemotongan, penggabungan, konversi format, dan manipulasi kualitas. Beberapa contoh jenis perangkat lunak media player yaitu, Adobe Premiere Pro, Adobe After Effect,  Windows Movie Maker, Filmora, iMovie dll.

2. Graphic Image Editor
Image editor adalah perangkat lunak yang digunakan untuk menggambar, mengedit, membuat sketsa dam memanipulasi gambar secara interaktif. Terdapat dua jenis image yang dihasilkan oleh image editor yaitu, dalam bentuk bitmap dan vector. Berikut beberapa contoh image editor, Adobe Photoshop, Corel Draw, Microsoft Paint, GiMP, ACDSee, InkSpace dll.

3. 3D Graphic
Aplikasi grafis 3 dimensi adalah perangkat lunak yang digunakan untuk membuat, mengedit dan memanipulasi informasi dalam bentuk gambar tiga dimensi. Berbeda dengan dua dimensi, gambar tiga dimensi merupakan representasi gambar dalam geometri tiga dimensi. Beberapa contoh perangkat lunak grafis 3D antara lain, AutoCAD, Blender, Maya, 3D Studio Max, Sketchup dll.

4. Animasi
Aplikasi animasi adalah perangkat lunak yang digunakan untuk membuat, mengedit dan memanipulasi informasi dalam bentuk animasi. Animasi merupakan gambar bergerak atau video dengan konten gambar fiktif, seperti kartun video game dll. Beberapa contoh perangkat lunak animasi yaitu, Macromedia Flash, Power Animation Software, Blender, Houdini Animation Software dll.

5. Image Viewer
Image viewer adalah jenis perangkat lunak yang digunakan untuk melihat gambar secara terorganisasi pada sebuah direktori. Sudah banyak format gambar yang didukung saat ini di antaranya, jpeg/jpg, gif, png, bmp, png, dll. Beberapa perangkat lunak ini menyediakan fasilitas editing image dalam fungsi sederhana. Beberapa contoh software image viewer yaitu, ACDSee Photo Studio, Microsoft Picture and Fax Viewer, XNView, GIMP, Xlideit, dll.

6. Media Player
Media Player adalah jenis perangkat lunak yang digunakan untuk menjalankan informasi dalam bentuk audio video. Biasanya aplikasi media player saat ini sudah bisa digunakan untuk menjalankan informasi audio maupun video. Berikut beberapa contoh software media player yaitu, PowerDVD, DivX Player, Real Player, VLC, KMPlayer, GOM Player, Windows Media Player, dll.

Perangkat Keras Multimedia


Berikut contoh perangkat-perangkat multimedia yang dibutuhkan dalam menjalankan/mengedit suatu informasi :

1. CD/DVD Room
Digunakan untuk membaca dan menulis  berbagai jenis CD, VCD dan DVD.

2. Graphic Card
Graphic card atau kartu grafis merupakan perangkat yang terhubung langsung dengan motherboard komputer yang berfungsi untuk mengolah citra agar mempunyai kualitas yang baik. Saat ini kartu grafis yang sering digunakan adalah kartu grafis yang menggunakan teknologi AGP (Accelerated Graphics Port).

3. Sound Card
Adalah perangkat yang terhubung dengan motherboard yang memiliki fungsi untuk mengolah dan mengontrol suara, baik suara masuk (merekam) dan suara keluar. Hal ini dimungkinkan karena pada sound card terdapat masukan (Line in, Mic dan MIDI) serta keluaran (Line out/Speaker out).

4. Speaker/Headset
Merupakan perangkat keluaran untuk menghasilkan suara. 












Senin, 06 Mei 2019

Process and Threads dalam Sistem Operasi Multimedia

Process

Proses dalam sistem operasi berisi intruksi, data, program counter, register pemroses, stack data, alamat pengiriman dan variabel pendukung lainnya.

Terdapat beberapa definisi mengenai proses, antara lain :

  • Merupakan konsep pokok dalam sistem operasi, sehingga masalah manajenem proses adalah masalah utama dalam perancangan sistem operasi.
  • Proses adalah program yang sedang di eksekusi.
  • Proses adalah unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem operasi.

Peran sistem operasi dalam kegiatan proses adalah mengelola semua proses di sistem dan mengalokasikan sumber daya ke proses tersebut. Banyak proses yang dijalankan bersamaan, dimana setiap proses mendapat bagian memori dan kendali sendiri-sendiri (peran SO), sehingga setiap proses (program) memiliki prinsip :
  • Independent, yang artinya program-program tersebut berdiri sendiri, terpisah dan saling tidak bergantung.
  • One program at any instant, artinya hanya terdapat satu proses yang dilayani pemroses pada satu saat.
Dalam multiprogramming, teknik penanganan proses adalah dengan mengeksekusi satu proses dan secara cepat beralih ke proses lainnya (bergiliran), Sehingga menimbulkan efek paralel semu  (pseudoparallelism).

Status (state) proses

Sebuah proses akan mengalami serangkaian state diskrit. Beragam kejadian dapat menyebabkan perubahan state proses. Tiga state tersebut adalah sebagai berikut :

  • Running, Proses sedang mengeksekusi instruksi proses.
  • Ready, Proses siap dieksekusi, tetapi roses tidak tersedia untuk eksekusi proses ini.
  • Blocked, Proses menunggu kejadian untuk melengkapi tugasnya.
Proses yang baru diciptakan akan mempunyai status ready :
  • Proses berstatus running menjadi blocked, karena sumbar daya yang diminta belum tersedia atau meminta layanan perangkat masukan/keluaran, sehingga menunggu kejadian muncul. Proses menunggu kejadian alokasi sumber daya atau selesainya layanan perangkat masukan/keluaran (event wait).
  • Proses berstatus running menjadi ready, karena penjadwal memutuskan eksekusi proses lain karena jatah waktu untuk proses tersebut telah habis (time out).
  • Proses berstatus blocked menjadi ready, saat  sumber daya yang diminta/ diperlukan telah tersedia atau layanan perangkat masukan/keluaran selesai.
  • Proses berstatus ready menjadi running, karena penjadwal memutuskan penggunaan pemroses untuk proses itu karena proses yang saat itu running berubah statenya  menjadi ready atau blocked
Operasi-operasi pada proses

1. Penciptaan proses

Melibatkan banyak aktivitas yaitu :

  • Memberi identitas proses.
  • Menyisipkan proses pada tabel proses.
  • Menentukan prioritas awal proses.
  • Menciptakan PCB (Program Control Block).
  • Mengalokasikan sumber daya awal bagi proses.
Ketika proses baru ditambahkan, sistem operasi membangun struktur data untuk mengelola dan mengalokasikan ruang alamat proses.

Kejadian yang dapat menyebabkan penciptaan proses :

Tahap-tahap penciptaan proses

Penciptaan proses dapat disebabkan beragam sebab. Penciptaan proses meliputi beberapa tahap :

  • Beri satu identifier unik ke prose baru. Isian baru ditambahkan ke tabel proses utama yang berisi satu isian perproses.
  • Alokasikan ruang untuk proses.
  • PCB harus diinisialisasi.
  • Kaitan-kaitan antar tabel dan senarai tang cocok dibuat.
  • Bila diperlukan struktur data lain maka segera dibuat struktur data itu.

2. Penghancuran proses

Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu :

  • Sumber daya yang dipakai dikembalikan.
  • Proses dihancurkan dari senarai atau tabel sistem.
  • PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).
Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua pendekatan, yaitu :
  • Pada beberapa sistem, proses-proses tutunan dihancurkan saat proses induk dihancurkan secara otomatis.
  • Beberapa sistem lain menganggap proses untuk independen terhadap proses induk, sehingga proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.
Implementasi Proses

Implementasi proses adalah tiap proses yang berjalan melalui state proses dan dicatat dalam sistem operasi yang di kelompokkan kedalam beragam tabel. Berikut 4 tabel di antaranya :

1.Tabel Memori
Menjaga keutuhan antara memori utama dan memori sekunder yang menyimpan informasi tentang :

  • Alokasi memori utama yang dipakai proses.
  • Alokasi memori sekunder yang dipakai proses.
  • Atribut segmen memori utama dan sekunder.
  • Informasi-informasi lain yang digunakan untuk pengolahan memori.
2.Tabel Input/Output
Pada waktu digunakan proses tertentu dijaga agar tidak digunakan proses lain yang menyimpan informasi tentang :
  • status Operasi I/O.
  • Lokasi memori utama.
  • Transfer data dengan perangkat I/O.
3.Tabel Informasi sistem file
Berisi informasi mengenai ektensi berkas, lokasi pada memori sekunder, status saat itu & atribut lainnya.

4.Tabel Proses
Untuk mengelola informasi proses di sistem operasi, lokasinya di memori, status dan atribut proses lainnya.

Threads

Thread dalam sistem operasi dapat diartikan sebagai sekumpulan perintah yang dapat dieksekusi secara sejajar dengan thread lainnya dengan menggunakan cara time slice atau multiprocess.

Thread sebenarnya mirip dengan process, akan tetapi cara berbagi sumber daya antara process dengan thread sangat berbeda. Multithread dapat dilaksanakan secar sejajar pada sistem komputer. Secara umum multithreading melakukan time slicing, dimana sebuah CPU bekerja pada thread yang berbeda, dimana suatu kasus ditangani tidak sepenuhnya secara serempak, untuk CPU tunggal pada dasarnya benar-benar melakukan sebuah pekerjaan pada satu waktu.

Model Threading

1.Kernel Thread
Kernel thread didukung langsung oleh sistem operasi. Pembuatan, penjadwalan, dan managemen thread dilakukan oleh kernel pada kernel space. Pembuatan dan pengaturannya lebih lambat dibanding user thread.
Keuntungannya adalah jika sebuah thread menjalankan blocking system call maka kernel dapat menjadwalkan thread lain di aplikasi untuk melakukan eksekusi.

2.User thread
User thread didukung di atas kernel dan diimplementasikan oleh thread library pada user level. Library menyediakan fasilitas untuk pembuatan thread, penjadualan thread, dan manajemen thread tanpa dukungan dari kernel.
Adapun kelemahannya yaitu, apabila kernelnua merupakan thread tunggal maka salah satu user-level thread menjalankan blocking system call maka akan mengakibatkan seluruh proses diblok walaupun ada thread lain yang dapat dijalankan dalam aplikasi tersebut.

Pada proses thread terdapat dua jenis thread yaitu :

1.Single Thread Process
Sebuah proses tradisional mempunyai single thread yang berfungsi sebagai pengendali. Dapat diartikan sebagai proses yang bekerja secara berurutan sesuai dengan urutan masing-masing thread dan hanya mengerjakan satu tugas dalam satu waktu.

2.Multithread Process
dapat diartikan juga sebagai suatu proses dengan thread banyak yang dapat mengerjakan lebih dari satu tugas pada satu waktu bersamaan. Multithread serung pula disebut dengan multitasking pada sistem operasi.

Model multithreading berdasarkan dengan pemetaan dibedakan menjadi tiga bagian yaitu :

  1. Many to One                                                                                                                          Model ini memetakan beberapa thread tingkat user ke sebuah thread tingkat kernel. Pengaturan thread dilakukan dalam ruang user sehingga efisien. Hanya satu thread user yang dapat mengakses thread kernel pada satu saat. Kelemahan dari model ini ialah Multiplethread tidak dapat berjalan secara paralel pada multiprosessor.
  2. One to One                                                                                                                             Model ini memetakan setiap thread tingkatan user ke setiap thread. One to one menyediakan lebih banyak concurrency dibandingkan model Many to One. Kelemahan model ini adalah setiap pembuatan thread user memerlukan tambahan thread kernel. Karena itu jika mengimplementasikan sistem ini maka akan menurunkan kinerja dari sebuah aplikasi, sehingga thread dibatasi dalam sistem.
  3. Many to Many                                                                                                                        Model ini memultipleks kan banyak thread tingkat user ke thread kernel yang jumlahnya sedikit atau sama dengan tingkat user. Model ini mengizinkan developer membuat thread sebanyak yang di inginkan tetapi concurrency tidak dapat diperoleh karena hanya thread yang dapat dijadwalkan oleh kernel pada satu waktu. Keuntungannya ialah kernel thread yang bersangkutan dapat berjalan secara paralel pada multiprosessor. 

Keuntungan dari Multithreading

Terdapat empat keuntungan utama dari program yang multithreading, yaitu :
  • Responsiveness                                                                                                                 Membuat aplikasi yang interaktif menjadi multithreading dapat membuat sebuah program terus berjalan meskipun sebagian dari program tersebut diblok atau melakukan operasi yang panjang, kareana itu dapat meningkatkan respons kepada user.
  • Resource Sharing                                                                                                                  Thread berbagi memori dengan sumber daya dengan thread lain yang dimiliki oleh proses yang sama. Keuntungannya yaitu mengizinkan sebuah aplikasi untuk mempunyai beberapa thread yang berbeda dalam lokasi memori yang sama.
  • Economy                                                                                                                                Dalam pembuatan sebuah proses banyak dibutuhkan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan user thread, karena thread berbagi memori dan sumber daya proses yang memilikinya maka akan lebih ekonomis untuk membuat dan context switch thread. Akan sulit untuk mengukur perbedaan waktu antara proses dan thread dalam hal pembuatan pengaturan, tetapi secara umum pembuatan dan pengaturan proses lebuh lama dibandingkan thread.
  • Utilization of Multiprocessor Architectures Keuntungan dari multithreading dapat sangat meningkatkan pada arsitektur multiprocessor, dimana setiap thread dapat berjalan secara paralel di atas prosessor  yang berbeda. Pada arsitektur prosessor tunggal, CPU menjalankan setiap thread secara bergantian tetapi hal ini berlangsung sangat cepat sehingga menciptakan ilusi paralel, tetapi kenyataannya hanya satu thread yang dijalankan CPU pada satu waktu.
 Kerugian dari Threading

adapun kerugian dari multithreading yaitu :

  • Jika digunakan secara berlebihan akan berdampak pada pemborosan resource dan CPU yang dialokasikan untuk switching threads.
  • Sistem yang memiliki kecepatan prosessor dan memori yang cenderung sama, sehingga tidak ada efisiensi yang hilang (mengacu pada latency), tidak akan memperoleh peningkatan bandwidth yang signifikan jika menggunakan multithreading.
  • Multithreading menghasilkan program yang lebih kompleks. Menggukanan multiplethread sendiri tidak akan menciptakan kerumitan, tetapi interaksi antar thread lah yang mengakibatkan kerumitan tersebut.
  • Thread yang banyak bisa saling berinteraksi ketika saling berbagi sumber daya hardware, seperti cache.

Implementasi Thread

Thread sering disediakan dalam bentuk paket thread. Paket seperti ini berisi operasi untuk menciptakan dan menghancurkan thread serta operasi tentang singkronisasi variabel seperti mutuxes dan variabel kondisi. Pada dasarnya ada dua pendekatan untuk menerapkan paket thread. Pendekatan pertama adalah untuk membangun library thread yang dieksekusi seluruhnya dalam mode pengguna. Pedekatan yang kedua adalah pemilik kernel harus menyadari thread dan jadwal mereka.
Sebuah perpustakaan thread user-level memiliki sejumlah keunggulan.
Pertama, itu murah untuk menciptakan dan menghancurkan thread. Karena semua administrasi thread disimpan dalam pengguna ruang alamat, harga menciptakan thread terutama ditentukan oleh biaya untuk mengalokasikan memori untuk mengatur tumpukan Thread Analog, menghancurkan thread terutama melibatkan memori untuk membebaskan stack yang tidak lagi digunakan. 
kedua operasi yang murah.

Minggu, 05 Mei 2019

Pengantar Sistem Operasi Multimedia

PENGERTIAN

Sistem Operasi adalah sebuah perangkat lunak / software yang bertanggung jawab mengontrol kerja perangkat keras dan menjalankan aplikasi di dalam suatu sistem komputer.
Dapat di artikan juga bahwa sistem operasi merupakan sebuah sistem yang mengendalikan operasi dasar dan memastikan sistem dalam komputer berjalan dengan semestinya.

Sistem operasi secara umum terdiri dari beberapa bagian:
  • Mekanisme Boot, yaitu meletakkan kernel ke dalam memory.
  • Kernel, yaitu inti dari sebuah sistem operasi.
  • Command Interpreter atau Shell, yang bertugas membaca input dari pengguna.
  • Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain.
  • Driver, untuk berinteraksi dengan hardwaare eksternal, sekaligus untuk mengontrolnya.                                                              
sistem ini sering kali menjadi faktor utama bagi seseorang dalam menilai sebuah produk teknologi, misal komputer. Dengan kata lain, tanpa adanya sistem operasi ini maka user tidak dapat menjalankan komputernya, sehingga tidak heran OS juga menjadi fokus user dalam memilih perangkat yang akan digunakan.

FUNGSI SISTEM OPERASI
1. Manajemen Kinerja Perangkat                                                                         Fungsi dari OS adalah memanajemen kinerja perangkat itu sendiri. Prangkat yang dikelola termasuk perangkat keras dan juga perangkat lunak. OS bertugas untuk membuat kinerja perangkat tersebut, mulai dari hal sederhana hingga ke hal yang lebih kompleks. Sehingga perangkat tersebut mampu bekerja secara optimal
2. Sebagai Wadah Dari Aplikasi                                                                            Fungsi sistem operasi berikutnya adalah sebagai wadah dari sebuah aplikasi yang terdapat pada komputer itu sendiri. Jika dilihat sepintas, aplikasi yang terletak pada memory perangkat tersebut, namun pada dasaarnya aplikasi tersimpan di dalam OS. Sehingga hal inilah yang membuat OS dikatakan wadah dari aplikasi-aplikasi yang ada di komputer.
3. Optimalisasi Kirja Perangkat                                                                                    Di samping sebagai wadah aplikasi dan memanajemen kinerja perangkat, sistem operasi juga berfungsi untuk mengoptimalkan kinerja dari perangkat itu sendiri. Berbagai hal terkait kinerja dari perangkat (hardware maupun software) dioptimalkan oleh OS. Seperti ketika anda mencari data yang tersimpan pada perangkat tersebut, maka OS memiliki peranan untuk mengoptimalkan proses pencarian tersebut
4.Mengontrol Kinerja Sebuah Aplikasi                                                                      OS juga berfungsi untuk mengontrol kinerja dari aplikasi itu sendiri. Selain itu, OS juga mengontrol user yang menjalankan aplikasi tersebut, sehingga di antara keduanya dapat tersinkronkan dengan baik
Selain fungsi-fungsi tersebut, sistem operasi juga memiliki peranan lain, seperti sebagai server dan pengawal. Sebagai server, OS akan memberikan fasilitas yang diinginkan oleh user ketika mengakses perangkatnya. Sementara sebagai pengawal, OS berfungsi untuk melindungi data dan batas-batas dalam mengakses data tersebut oleh user. Sehingga user dapat dengan nyaman dan aman dalam menggunakan perangkatnya
LAYANAN SISTEM OPERASI
Sebuah sistem operasi yang baik menurut Tanenbaum harus memiliki layanan sebagai berikut,

  1. Pembuatan Program                                                                                        sistem operasi menyediakan fasilitas dan layana untuk membantu para pemrogram untuk menulis program.
  2. Eksekusi Program                                                                                    Instruksi-instruksi dan data-data harus dimuat ke memori utama, perangkat masukan atau keluaran dan berkas harus di inisialisasi, serta sumber daya yang ada harus disiapkan, semua itu harus di tangani oleh sistem operasi.
  3. Pengaksesan Input/Output Device                                                              Sistem operasi harus mengambil alih sejumlah instruksi yang rumit dan sinyal kendali menjengkelkan agar program dapat berfikir sederhana dan perangkat pun dapat beroperasi.
  4. Pengaksesan Terkendali Terhadap Berkas                                  Disediakannya mekanisme proteksi terhadap berkas untuk mengendalikan pengaksesan teehadap berkas.
  5. Pengaksesan Sistem                                                                              Menggunakan prinsip shared system (system digunakan bersamaan dalam satu waktu). Fungsi pengaksesan harus menyediakan proteksi terhadap sejumlah sumber daya dan data dari pemakai tak terdistorsi serta menyelesaikan konflik-konflik dalam perebutan sumber daya.
  6. Deteksi dan Pemberian Tanggapan pada Kesalahan                                   Jika muncul permasalahan muncul pada sistem komputer maka sistem operasi harus memeberikan tanggapan yang menjelaskan kesalahan yang terjadi serta dampaknya terhadap aplikasi yang sedang berjalan.
  7. Akunting                                                                                                          Sistem operasi yang bagus mengumpulkan data statik penggunaan beragam sumber daya dan memonitor parameter kinerja.
CONTOH SISTEM OPERASI

Sistem operasi telah berkembang melalui jalan yang panjang. Dari yang paling sederhana hingga yg kompleks. Masing-masing memiliki kelebihan dan kekurangan terutama dalam fungsi-fungsi yang di milikinya. Berikut beberapa sistem operasi yang umum digunakan oleh user,

  1. Microsoft Windows                                                                                        Pertama adalah Microsoft windows yang sering di sebut windows saja, pada awalnya windows hanyalah add-on dari MS-DOS karena tingginya tuntutan pada sistem operasi berbasis GUI (graphic user interface). Versi awal dari windows berjalan di atas MS-DOS, meski demikian windows versi awal telah menunjukkan beberapa fungsi yang umum dijumpai dalam sistem operasi, antara lain memiliki tipe file executable tersendiri, memiliki driver perangkat keras sendiri dll. Secara konsep sebenarnya windows lebih banyak ditujukan bagi komputer personal.
  2. Mac OS                                                                                                                Mac OS merupakan turunan dari UNIX melalui jaringan BSD (berkeley software distribution). Oleh karena itu kekuatan dalam multi tasking, multi user, network yang ada pada UNIX juga di miliki mac os. Mac os adalah sistem operasi berbasis GUI yang dipelopori oleh Apple. Versi awal dari mac os hampir sepenuhnya mengandalkan GUI, meskipun sangat memudahkan namun ada beberapa kelemahan antara lain multi tasking yang berjalan tidak sempurna, pengolahan memori yang terbatas serta konflik pada beberapa program yang di tanamkan, pada versi terbaru mac os x semua kelemahan atau bugs telah coba di hilangkan, selain itu tampilan GUI-nya disebut-sebut sebagai yang terbaik di antara sistem operasi yang ada.
  3. Linux                                                                                                                   Linux sangat mirip dengan sistem-sistem UNIX, hal ini dikarenakan kompabilitas dengan UNIX merupakan tujuan utama desain dari proyek Linux. Perkembangannya dimulai pada tahun 1991 ygan di pelopori oleh Linus Torvalds, saat ini linux merupakan salah satu sistem operasi yang perkembangannya paling cepat. Kehadiran sejumlah kelompok pengembang, tersebar di seluruh dunia yang selalu memperbaiki segala fiturnya, sehingga kini linux memiliki banyak turunan mulai dari open source sampai close source yang biasa disebut distro linux contoh (Debian,Red Hat Enterprise,Arch Linux,Slackware,Fedora dll). Masalah utama yang di hadapi Linux dahulu adalah interface yang berupa CLI (command line interface). Ini yang membuat orang awam tidak tertarik menggunakan linux (tidak user friendly). Tetapi keadaan ini mulai berubah dengan kehadiran KDE dan GNOME. Keduanya memiliki tampilan desktop yang menarik sehingga mengubah presepsi orang tentang Linux.
  4. UNIX                                                                                                                      Di desain sebagai sistem operasi  yang portabel, multi-tasking dan multi-user. Pengembangannya dimulai dari tahun 1970an di Bells Labs oleh Ken Thompson, Dennis ritchie, dan lain-lain. Awalnya di tujukan untuk internal Bell System, AT&T kemudian melisensikan UNIX ke pihak luar pada tahun 70an, yang menyebabkan muncul banyak variasi UNIX yang dibuat oleh akademisi maupun corporate seperti yang di buat oleh Universitas California, Bekeley (BSD), Microsoft (Xenix), IBM (IBM AIX) dan Sun Microsystems (Solaris). UNIX banyak digunakan baik untuk server maupun workstation. Lingkungan UNIX dan model pemrograman client-server menunjukkan bahwa UNIX lebih dikembangkan sebagai sistem operasi yang kuat di jaringan komputer dari pada sistem operasi untuk komputer personal.
  5. DOS                                                                                                                      DOS adalah singkatan Disk Operating System yang merujuk pada perangkat sistem operasi yang di gunakan di banyak komputer yang menyediakan absktaksi dan pengelolaan perangkat  penyimpan sekunder dan informasinya. Misalnya penggunaan sistem file yang mengelola file-file yang ada pada perangkat penyimpan. DOS biasanya dijalankan dari satu atau dua disc, pada masanya DOS menggunakan media penyimpanan yang masih sangat terbatas (paling besar hanya 1.4 megabyte) ada banyak jenis DOS diantaranya Apple DOS, Commodore DOS, Atari DOS dll. Kini DOS menjadi istilah generik bagi sistem operasi yang dimuat dari perangkat penyimpanan berupa disk saat sistem komputer dinyalakan.                                                                         Keluarga DOS terbagi menjadi beberapa kelas, yakni (MS-DOS,IBM PC-DOS,DR-DOS,Novell Personal Netware,Caldera DOS,Free DOS)