pict

pict

Senin, 26 Desember 2011

Senyum Keikhlasan


Bukan hal yang mudah untuk menjadikan keikhlasan sebagai niat disetiap apa yang ingin kita lakukan lebih-lebih jika itu berkaitan dengan ibadah, keikhlasan karena Allah SWT.
Kita mampu untuk mengatakan “ ya aku ikhlas” namun belum tentu kata itu mengalir dari lubuk hati kita yang paling dalam.
Mudah bagiku mungkin juga mudah bagimu berkorban sesuatu demi orang yang kita cintai dan mencintai kita…orang tua, suami/ istri, saudara, dan orang lain. Mereka yang banyak membantu kita walau tidak setiap waktu. Sampai-sampai kita enggan jikalau mereka terluka hatinya jika kita tidak memperhatikannya dan itu butuh keikhlasan.
Mereka adalah makhluk Allah dan pasti suatu saat akan kembali padanya. Lalu kepada siapa lagi kita akan berkorban.
Bagaimana jika dalam pikiran kita terlintas, apakah aku sudah berkorban untuk Allah? Bagaimana dengan ibadahku selama ini, adakah keikhlasan dalam hati untuk Nya? Pernahkah aku memperhatikan Nya di setiap langkahku, kehidupanku?
Jelas bahwa Allah tak pernah meninggalkan kita. Memberikan kenikmatan yang tak mungkin bisa kita hitung dari sejak Allah meniupkan roh kita saat dalam kandungan hingga saat ini bahkan saat nanti.
Aku harus belajar untuk menjadikan keikhlasan sebagai niatku untuk menjalankan rutinitas hidupku. Aku perlu belajar kepada orang-orang yang berhasil melakukannya. Kepada siapakah gerangan???
Cukuplah Allah SWT tempat kembali kita meminta petunjuk dan akan butuh waktu yang tidak sedikit.
Bantu aku juga teman…saudaraku sesama makhluk Allah SWT.


Saya akan menuliskan sebuah puisi tentang senyum keikhlasan :

Senyum Keikhlasan

Bukan hanya karena cantikmu, ku harus menundukkan pandangan
Bukan hanya karena detakan kencang jantung ini, ku harus meluluhkan hati
Ya Allah….
Ku tak bisa menjawabnya
Ya Allah….
Jika dia tidak tahu maka beritahulah
Jika Engkau menetapkan dia untukku maka dekatkanlah
Ya Allah….
Jadilah penolong atas mata dan hatiku
Sampai kutemukan senyum kecil dan setengah jiwaku

Jumat, 23 Desember 2011

Motivasi Buat Diri


Menjalankan segala sesuatunya tanpa motivasi sepertinya terasa kurang lengkap. Apalagi anak kosan seperti saya yang jauh dari orang tua. Dengan motivasi, manisnya hidup justru akan lebih terasa indah. Motivasi diperlukan dalam banyak hal, baik berupa motivasi kerja hingga motivasi untuk mendapatkan penghasilan yang lebih baik dan juga hidup lebih baik.

Berbagai tips motivasi banyak diberikan oleh para motivator-motivator terkemuka. Barangkali Anda juga salah satu yang pernah membaca kata motivasi dan termotivasi untuk bertindak.
Atau bisa jadi terkadang Anda yang menjadi motivator untuk orang lain dan banyak memberikan tips motivasi untuk rekan lainnya. Pilihan ini sangat tepat, karena hakikat dari kehidupan adalah selalu melakukan hal terbaik. Jika Kita bisa dimotivasi oleh orang lain, sekarang kenapa tidak mencoba untuk memotivasi diri sendiri. Bukankah motivasi terbaik itu justru datang dari diri Kita sendiri? Ada tips untuk memotivasi diri sendiri yang bisa Anda lakukan dalam kehidupan sehari-hari Anda.

1. Menetapkan niat yang kuat. Dalam memotivasi diri sendiri untuk melakukan hal-hal terbaik langkah awal yang mesti Kita persiapkan adalah niat. Segala sesuatu yang dimulai dengan niat yang kuat dan juga niat yang baik diharapkan akan meghasilkan suatu hal yang baik pula. Karena itu mulai lah dengan niat yang baik untuk sesuatu yang lebih baik dalam kehidupan Anda.

2. Yakini bahwa Anda mampu. Memotivasi diri sendiri tidaklah susah. Hanya perlu keyakinan yang kuat bahwa Anda bisa. Seperti misalnya membiasakan diri dengan kata-kata “Saya bisa”, “Saya sanggup”. Atau “Saya mampu”. Pertama-tama hal inilah yang harus Kita yakini. Jika Kita sendiri tidak yakin dengan kemampuan diri Kita bagaimana orang lain juga akan yakin.

3. Laksanakan dengan sepenuh hati. Setelah membiasakan diri dengan kata motivasi yang tinggi, langkah selanjutnya yang bisa Kita lakukan adalah dengan niat yang kuat melaksanakan apa yang sudah Kita yakini. Niat kuat sangat membantu dalam menyelesaikan pekerjaan. Pikirkan hal-hal yang menyenangkan untuk melakukan pekerjaaan yang barangkali berat sekalipun. Anda bisa berpikir bahwa bekerja itu adalah ibadah. Apa yang terjadi saat ini adalah apa yang Kita pikirkan. Jika Kita berpikiran sesuatu hal adalah susah dan tidak mungkin dilakukan, sedikit banyak juga akan berpengaruh dan hal itu akan terjadi, karena otak Kita sudah distimuli dengan hal-hal ketidak yakinan. Maka dari itu hilangkan ketidak yakinan dari diri Anda.

4. Jangan pernah takut terhadap kegagagalan. Dalam berusaha misalnya, motivasi kerja sangat dibutuhkan, ketika sudah berusaha melakukan hal terbaik namun masih menemui jalan kegagalan jangan mudah menyerah. Sepertinya kata motivasi “kegagalan untuk disikapi bukan untuk disesali” adalah kata yang tepat untuk mewakili hal yang satu ini. Jika ada yang selalu sukses dan tidak menemui jalan kegagalan, mungkin itu hanya dialami oleh sedikit orang. Kebanyakan orang pernah mengalami kegagalan, dan jika kegagalan itu terjadi pada Anda yang perlu diingat juga adalah bahwa Anda tidak sendiri. Terus bangkit dan belajar dari kesalahan yang pernah terjadi, mencari tahu penyebabnya sehingga Anda bisa gagal. Bukankah tidak ada orang yang ingin terjatuh di lubang yang sama?

Rabu, 14 Desember 2011

Makna Qur'an surat Annur ayat 26

karna masiih baru dalam dunia perblogspotan, jadi ya kayak gini...
minim banget.. ^_^
thank's yang udah buat gambar. ( izin share ya.. )



kembali pada makna surat An Nur ayat 26, bahwa Allah menganjurkan kita untuk mencari pasangan yang selevel, dalam artian bila kita soleh / solehah jangan cari pasangan yang ahli maksiat, dan jangan bermimpi mendapat pasangan yang soleh / solehah kalo kita sendiri tidak pernah memperbaiki level kita. jadi apabila ingin mendapat yang selevel perbaiki kualitas level kita sebagaimana level pasangan yang kita inginkan.

lalu bagaimana dengan istri Nabi Luth dan Nabi Nuh yang istrinya durhaka kepada atau Asiyah Binti Mazahim istri Fir'aun yang sombong? nah kalo soal ini, ada ayat yang menjelaskan bahwa bisa jadi pasangan (jodoh) kita adalah ujian bagi kita dan Allah menghendaki ini terjadi pada orang-orang yang dia kehendaki. sebagaimana Firman Allah dalam Surat At Tahrim Ayat 10 - 11

"Allah membuat isteri Nuh dan isteri Luth sebagai perumpamaan bagi orang-orang kafir. Keduanya berada di bawah pengawasan dua orang hamba yang saleh di antara hamba-hamba Kami; lalu kedua isteri itu berkhianat kepada suaminya (masing-masing), maka suaminya itu tiada dapat membantu mereka sedikitpun dari (siksa) Allah; dan dikatakan (kepada keduanya): "Masuklah ke dalam jahannam bersama orang-orang yang masuk (jahannam)".
 "Dan Allah membuat isteri Fir'aun perumpamaan bagi orang-orang yang beriman, ketika ia berkata: "Ya Rabbku, bangunkanlah untukku sebuah rumah di sisiMu dalam firdaus, dan selamatkanlah aku dari Fir'aun dan perbuatannya, dan selamatkanlah aku dari kaum yang zhalim".

nah, bagi yang belum mendapatkan pasangan hidup atau belum menemukan jodohnya, lebih baik saat ini berfikir dan berusaha menjadi level yang baik, level yang mulia di hadapan Allah 'Azza wa Jalla daripada sibuk menilai dan menimbang-nimbang seseorang yang kita inginkan. karena kalo diri kita levelnya udah tinggi dan baik di hadapan Allah, maka Allah akan memberi jodoh atau pasangan hidup yang ga bakal jauh dari level kita kecuali Allah berkehendak lain.

dalam lirih do'aku berbisik " Ya Rabb..bimbinglah aku untuk selevel dengan dia...,dia yang ada di hatiku saat ini"

Allahumma Amiin Ya Rabbal 'Alamiin...^^

Jumat, 09 Desember 2011

Mudahnya Belajar Matematika ^_^

TEORI BELAJAR MATEMATIKA YANG MUDAH DILAKUKAN

Pelajaran Matematika sering merupakan momok bagi para siswa. Banyak siswa dari tingkat dasar sampai tingkat tinggi yang membenci mata pelajaran ini. Kesulitan yang harus dihadapi dengan berbagai penggunaan logika dan rumus dalam menyelesaikan soal merupakan kendala.dan permasalahan besar.
Namun ada teori belajar matematika yang sebenarnya mudah untuk dilakukan. Dengan menerapkan teori ini, matematika bukanlah  menjadi mata pelajaran yang harus dihindari.


1 Memahami Konsep dan Bukan Menghapal Rumus
Teori belajar matematika pertama yang harus diingat adalah bahwa belajar matematika berarti memahami konsep untuk setiap soal yang dihadirkan. Walau di dalam matematika ada rumus yang harus dihapal, namun inti dari pelajaran matematika adalah pemahaman.
Seberapa hebat Anda dalam menghafal berbagai rumus matematika, tidak akan bermanfaat jika konsep dasarnya tidak dipahami. Pemahaman konsep menjadi modal utama dalam menguasai pelajaran matematika. Itulah teori belajar matematika yang paling utama yang harus dikuasai terlebih dahulu.


2 Belajar dari Contoh Soal
Memahami konsep bisa dilakukan dengan cara membaca berbagai uraian pelajaran matematika. Namun teori saja tidak akan dapat membuat pemahaman secara lengkap. Diperlukan juga praktik yang artinya Anda harus belajar dari berbagai soal.
Teori belajar matematika kedua yang juga sangat mudah dilakukan adalah belajar dari contoh soal. Uraian teori yang Anda peroleh harus Anda terapkan di dalam berbagai contoh soal. Dengan melihat bagaimana teori dalam menyelesaikan berbagai soal, Anda akan lebih mampu lagi memahami konsep secara menyeluruh. Soal-soal inilah yang merupakan refleksi dari bahan pelajaran sebenarnya.


3 Belajar dari Soal yang Paling Mudah
Untuk memahami suatu persoalan yang sulit, tentu Anda butuh latihan.Pemahaman dapat diperoleh dengan latihan secara berkesinambungan. Langkah awal yang harus dilakukan adalah dengan mengerjakan soal yang paling mudah terlebih dahulu.
Dalam teori belajar matematika, saat soal mudah bisa dikuasai maka kemungkinan besar soal yang lebih sulit juga bisa dikuasai. Anda tidak akan dapat memahami matematika jika memulai dengan soal yang sulit. Soal yang mudah akan membentuk kemampuan secara perlahan-lahan untuk menyelesaikan soal dengan tingkat kesulitan yang lebih tinggi.
Saat kemampuan diperoleh, soal matematika apapun dapat diselesaikan. Jika soal matematika sudah dapat diselesaikan, tentu belajar matematika bukanlah hal yang sulit. Dan pastinya matematika bisa menjadi mata pelajaran favorit. Teori belajar matematika yang paling puncak adalah menciptakan kesenangan belajar terlebih dahulu. Jika sudah demikian, matematika tidak akan menjadi momok bagi siapapun juga
Sedikit bercerita…..
Ketika saya menjadi mahasiswa tingkat pertama, saya berkenalan dengan salah seorang mahasiswa baru lainnya yang di kemudian hari menjadi teman baik saya. Ketika awal perkenalan, kami pun ngobrol kesana-kemari. Tanya sana-tanya sini. Jawab sana, jawab sini. Hingga ia pun akhirnya bercerita bahwaa nilai tes Matematika Dasar-nya, yaitu salah satu mata pelajaran yang diujikan di UMPTN*, adalah 100 alias benar semua.

Mendengar ceritanya tersebut, saya pun terkagum-kagum dibuatnya. Dalam pikiran saya, saya berkesimpulan “Wah ia pasti orang yang sangat pandai”. Rasa kagum saya mendorong rasa ingin tahu saya tentang pengetahuannya dalam matematika. Akhirnya, dalam masa awal perkenalan itu, saya ajak ia ngobrol tentang matematika yang sudah pernah kami pelajari ketika semasa SD sampai SMA dulu.

Dari obrolan tersebut, saya jadi tahu, ternyata ia benar-benar luas pengetahuan tentang matematika yang sudah dipelajarinya. Hingga akhirnya, mungkin untuk menunjukkan kepiawaiannya, ia mengajak saya adu cepat mengerjakan soal matematika.

Mendapat tantangan itu, sebenernya saya ngeper juga. Karena saya merasa tak sepandai dirinya. Namun, karena ini namanya juga bukan lomba dan bukan apa-apa, saya sih mau saja waktu itu. Soal-soal pun dipilih secara acak dari buku kumpulan soal-soal latihan tes UMPTN* dan EBTANAS** beberapa tahun sebelumnya yang masih rajin ia bawa ke mana-mana. Kemudian, adu cepat menyelesaikan soal matematika pun dimulai.

Bagaimana hasilnya? Siapa yang tercepat?

Ternyata benar, dalam beberapa menit saja, teman saya itu berhasil menyelesaikan semua soal yang sudah dipilih tadi (karena yang dipilih cuma 3 soal sih). Dan ia keluar sebagai yang tercepat, menjadi pemenang. Sedangkan saya, satu soal pun belum mampu saya selesaikan. Waktu itu, saya terlalu berkutat dengan soal nomor pertama yang lumayan sukar untuk ukuran saya waktu itu. Walau sudah dengan segenap kemampuan saya berusaha menyelesaikannya, tapi ternyata, sampai waktu habis belum ketemu juga. Saya pun mengakui kelebihan dan kehebatannya.

Dengan sedikit malu-malu, saya bertanya padanya tentang soal yang belum bisa saya selesaikan tersebut. Sambil saya tanyakan pula kenapa ia begitu cepat bisa menyelesaikan soal-soal tersebut. Soal yang waktu itu belum bisa saya selesaikan adalah seperti berikut ini.

Soal: Bila a + 1/a = 5, maka nilai dari a3 + 1/a3 =…

Dengan cepat teman saya itu pun menyelesaikan soal tersebut seperti berikut ini:

a3 + 1/a3 = (a + 1/a)3 – 3a.1/a(a + 1/a) = 53 – 3(5) = 125 – 15 = 110.

Melihat cara penyelesaiannya, saya hanya bisa melongo waktu itu. “Cuma satu baris? Padahal saya mencoba menyelesaikannya berbaris-baris, dan belum ketemu juga”, itu yang ada di pikiran saya. Kemudian, saya pun bertanya ke teman saya itu, kenapa cara pengerjaannya seperti itu?

Dengan senang hati, ia pun menjelaskan ke saya. Ia katakan bahwa, soal semacam tersebut dapat dengan mudah diselesaikan dengan rumus “cepat” berikut ini.

a3 + b3 = (a + b)3 – 3ab(a + b) ………………………………..(1)

Dengan mengganti b dengan 1/a, katanya, maka soal tadi dapat diselesaikan dengan cepat seperti yang sudah dikerjakannya tadi.

Saya yang tak terbiasa menggunakan rumus “cepat” ketika di SMA dulu, penasaran ingin tahu alasan kenapa rumus “cepat” tersebut bisa dipakai. Tapi sayang, teman saya itu tak memberi tahu saya. Malahan ia menambah lagi rumus cepat yang sudah ia ketahuinya, yaitu:

a3 – b3 = (a – b)3 + 3ab(a – b)……………………………….(2)

Akhirnya, ngobrol-ngobrol pun beres. Ia bergegas pulang menuju kost-kost-annya. Saya pun begitu, pulang dengan rasa penasaran yang mengganjal.

Di kost-kost-an, dengan penuh rasa penasaran ingin tahu, saya pun mengutak-atik rumus “cepat” yang telah ia gunakan tersebut. Setelah beberapa waktu lamanya, akhirnya, terpecahkan juga rahasia rumus “cepat” yang dipakai teman saya tersebut. Saya berhasil menelusuri asal-muasal rumus “cepat” tersebut, berhasil menguak rahasianya. (Duh rasanya begitu senang sekali, tak bisa saya ekspresikan dengan kata-kata).

Hasil penelusuran saya tersebut, setelah saya rapikan, seperti berikut ini.

= (a + b)3 = (a + b)2(a + b)

= (a2 + 2ab + b2)( a + b)

= a3 + a2b + 2a2b + 2ab2 + b2a + b3

= a3 + b3 + 3a2b + 3ab2

= a3 + b3 + 3ab (a + b)

Jadi, (a + b)3 = a3 + b3 + 3ab (a + b).

Sehingga, a3 + b3 = (a + b)3 – 3ab (a + b). Rumus “cepat” (1) dapat saya buktikan kebenarannya. Kemudian, dengan cara serupa, saya pun berhasil menelusuri asal-muasal rumus “cepat” (2).

Walaupun apa yang telah saya lakukan tersebut sederhana, tapi bagi ukuran saya waktu itu adalah sesuatu yang menggembirakan hati, menyenangkan pikiran, dan memuaskan dahaga keingin-tahuan saya.

Sejak saat itu, bila ada rumus-rumus “cepat” yang saya temui di buku-buku bimbingan tes, saya pun terpacu untuk menelusuri asal-muasalnya. Dengan cara seperti itu, saya seringkali berhasil memecahkan rahasia rumus-rumus “cepat” yang selama ini beredar luas di kalangan siswa yang mengikuti bimbingan test.

Baiklah, segitu dulu saja ceritanya ya…, lain kali insya Allah saya akan membahas baik-buruknya penggunaan rumus “cepat” (Ada satu cerita yang sangat menggelikan tentang hal ini. Mau tahu? Silakan tunggu di postingan mendatang…). Sampai di sini dulu ya…, mudah-mudahan bermanfaat. 

Sabtu, 03 Desember 2011

SEJARAH MATEMATIKA

Sejarah Matematika

Ikhtisar dan sejarah matematika
Untuk lebih jelasnya lihat pada artikel sejarah matematika .
Kata “matematika” berasal dari kata μάθημα(máthema) dalam bahasa Yunani yang diartikan sebagai “sains, ilmu pengetahuan, atau belajar” juga μαθηματικός (mathematikós) yang diartikan sebagai “suka belajar”.
Disiplin utama dalam matematika didasarkan pada kebutuhan perhitungan dalam perdagangan, pengukuran tanah dan memprediksi peristiwa dalam astronomi. Ketiga kebutuhan ini secara umum berkaitan dengan ketiga pembagian umum bidang matematika: studi tentang struktur, ruang dan perubahan.
Pelajaran tentang struktur dimulai dengan bilangan, pertama dan yang sangat umum adalah bilangan natural dan bilangan bulat dan operasi arimetikanya, yang semuanya itu dijabarkan dalam aljabar dasar. Sifat bilangan bulat yang lebih mendalam dipelajari dalam teori bilangan. Investigasi metode-metode untuk memecahkan persamaan matematika dipelajari dalam aljabar abstrak, yang antara lain, mempelajari tentang ring dan field, struktur yang menggeneralisasi sifat-sifat yang umumnya dimiliki bilangan. Konsep vektor, digeneralisasi menjadi vektor ruang dipelajari dalam aljabar linier, yang termasuk dalam dua cabang: struktur dan ruang.
Ilmu tentang ruang berawal dari geometri, yaitu geometri Euclid dan trigonometri dari ruang tiga dimensi (yang juga dapat diterapkan ke dimensi lainnya), kemudian belakangan juga digeneralisasi ke geometri Non-euclid yang memainkan peran sentral dalam teori relativitas umum. Beberapa permasalahan rumit tentang konstruksi kompas dan penggaris akhirnya diselesaikan dalam teori Galois. Bidang ilmu modern tentang geometri diferensial dan geometri aljabar menggeneralisasikan geometri ke beberapa arah:: geometri diferensial menekankan pada konsep fungsi, buntelan, derivatif, smoothness dan arah, sementara dalam geometri aljabar, objek-objek geometris digambarkan dalam bentuk sekumpulan persamaan polinomial. Teori grup mempelajari konsep simetri secara abstrak dan menyediakan kaitan antara studi ruang dan struktur. Topologi menghubungkan studi ruang dengan studi perubahan dengan berfokus pada konsep kontinuitas.
Mengerti dan mendeskripsikan perubahan pada kuantitas yang dapat dihitung adalah suatu yang biasa dalam ilmu pengetahuan alam, dan kalkulus dibangun sebagai alat untuk tujauan tersebut. Konsep utama yang digunakan untuk menjelaskan perubahan variabel adalah fungsi. Banyak permasalahan yang berujung secara alamiah kepada hubungan antara kuantitas dan laju perubahannya, dan metoda untuk memecahkan masalah ini adalah topik dari persamaan differensial. Untuk merepresentasikan kuantitas yang kontinu digunakanlah bilangan riil, dan studi mendetail dari sifat-sifatnya dan sifat fungsi nilai riil dikenal sebagai analisis riil. Untuk beberapa alasan, amat tepat untuk menyamaratakan bilangan kompleks yang dipelajari dalam analisis kompleks. Analisis fungsional memfokuskan perhatian pada (secara khas dimensi tak terbatas) ruang fungsi, meletakkan dasar untuk mekanika kuantum di antara banyak hal lainnya. Banyak fenomena di alam bisa dideskripsikan dengan sistem dinamis dan teori chaos menghadapi fakta yang banyak dari sistem-sistem itu belum memperlihatkan jalan ketentuan yang tak dapat diperkirakan.
Agar menjelaskan dan menyelidiki dasar matematika, bidang teori pasti, logika matematika dan teori model dikembangkan.
Saat pertama kali komputer disusun, beberapa konsep teori yang penting dibentuk oleh matematikawan, menimbulkan bidang teori komputabilitas, teori kompleksitas komputasional, teori informasi dan teori informasi algoritma. Kini banyak pertanyaan-pertanyaan itu diselidiki dalam ilmu komputer teoritis. Matematika diskret ialah nama umum untuk bidang-bidang penggunaan matematika dalam ilmu komputer.
Bidang-bidang penting dalam matematika terapan ialah statistik, yang menggunakan teori probabilitas sebagai alat dan memberikan deskripsi itu, analisis dan perkiraan fenomena dan digunakan dalam seluruh ilmu. Analisis bilangan menyelidiki teori yang secara tepat guna memecahkan bermacam masalah matematika secara bilangan pada komputer dan mengambil kekeliruan menyeluruh ke dalam laporan.setau saya 1 ditambah 1 sama dengan 10

(untuk lebih lengkap baca di http://id.wikipedia.org/wiki/Matemat…rah_matematika)

Selasa, 29 November 2011

Perangkat Input Output Komputer

Managemen Sistem I/O

Sering disebut device manager. Menyediakan device driver yang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada perangkat keras, CD-ROM dan floppy disk.
Komponen Sistem Operasi untuk sistem I/O:
  • Penyangga: menampung sementara data dari/ ke perangkat I/O.
  • Spooling: melakukan penjadualan pemakaian I/O sistem supaya lebih efisien (antrian dsb.).
  • Menyediakan driver: untuk dapat melakukan operasi rinci untuk perangkat keras I/O tertentu.

INPUT / OUTPUT



1.              Prinsip Perangkat Keras I/O

Batasan : bagaimana hardware tersebut di program


Manajemen perangkat I/O mempunyai beragam fungsi, diantaranya :
-       mengirimkan perintah ke perangkat I/O agar menyediakan layanan
-       menangani interupsi perangkat I/O
-       menangani kesalahan pada perangkat I/O
-       menyediakan interface ke pemakai

1.1.                  I/O Device
Perangkat I/O dapat dibedakan berdasarkan :

1.              Sifat aliran data
Berdasarkan aliran data dibedakan menjadi :
a.             Perangkat berorientasi blok (block-oriented devices)
Contohnya : disk, tape, CD ROM, Optical disk
b.             Perangkat berorientasi karakter (character-oriented devices)
Contohnya : terminals, line printer, punch card, network interfaces, pita kertas, mouse
Klasifikasi diatas tidak mutlak, karena ada beberapa perangkat yang tidak termasuk kategori diatas, misalnya : Clock, Memory Mapped Screen, Sensor
2.              Sasaran komunikasi
Berdasarkan sasaran komunikasi dibedakan menjadi:

a.             Perangkat yang terbaca oleh manusia (human readable device)
Contohnya :  VDT (Video Display Terminal) terdiri dari monitor, keyboard (+mouse)
b.             Perangkat yang terbaca oleh mesin (machine readable device)
                                          Contohnya : disk, tape, sensor, controller
c.              Untuk komunikasi
                                          Contohnya : modem

1.2.                  Device Controller
Unit I/O berupa :
a.             Komponen elektronik
Device controller / adapter adalah untuk mengaktif-kan perangkat eksternal dan memberitahukan yang perlu dilakukan oleh perangkat / driver.
Contoh : unit tape megnetik diinstruksikan kembali ke posisi awal, bergerak ke record berikutnya.


b.            Komponen mekanik
                             Contohnya : head, motor stepper, printer


1.1.                  Direct Memory Access (DMA)
DMA mentransfer seluruh data yang diminta ke / dari memori secara langsung tanpa melewati pemroses.
Keuntungan DMA :
-       Memaksimalkan / meningkatkan kinerja I/O
-       Meminimasikan over head

Pada waktu data di tranfer dari controller ke memori, sektor berikut akan lewat dibawah head dan bits sampai ke controller. Controller sederhana tidak dapat melakukan I/O dalam waktu yang bersamaan, maka dilakukan interleaving (skip blok), memberi waktu untuk tranfer data ke memori. Interleaving ini terjadi pada disk, bukan pada memori.



1.              Prinsip Software I/O
Ide Dasar : mengorganisasikan software dalam beberapa layer dimana level bawah menyembunyikan akses / kepelikan hardware untuk level diatasnya. Level atas membuat interface yang baik ke user.

Tujuan Software I/O
a.             Konsep dalam desain software I/O
b.             Penamaan yang seragam / Uniform Naming
Contoh :  seluruh disks dapat dibuat dengan hirarki sistem file (menggunakan NPS)
c.              Penanganan kesalahan / Error Handling
Contoh : pertama controller, device driver, dst. Dan jika tidak bisa ditangani beri pesan
d.             Synchronous (blocking) vs Asynchronous (Interrupt Driver) transfer
e.              Sharable vs Dedicated Device
Contoh : disk untuk sharable dan printer untuk dedicated

Tujuan  diatas dapat dicapai dengan memisahkan software I/O menjadi 4 layers, yaitu :

1.              Interrupt Handler
Interrupt harus disembunyikan agar tidak terlihat rutin berikutnya. Device driver di blok saat perintah I/O diberikan dan menunggu interupsi. Ketika interupsi terjadi, prosedur penanganan interupsi bekerja agar device driver keluar dari state blocked.

2.              Device Drivers
Seluruh kode device dependent terletak di device driver. Tiap device driver menangani satu tipe / satu kelas device. Tugas dari device driver untuk menerima permintaan abstrak dari software device independent diatasnya dan melakukan layanan sesuai permintaan / mengeksekusinya.



1.              Device-Independent I/O Software
I/O device-independent adalah : software I/O yang tak bergantung pada perangkat keras.
Fungsi dari software I/O device-independent yang biasa dilakukan :
a.             Interface seragam untuk seluruh device-driver
b.             Penamaan device
c.              Proteksi device
d.             Memberi ukuran blok device agar bersifat device-independent
e.             Melakukan Buffering
f.              Alokasi penyimpanan pada blok devices
g.             Alokasi dan pelepasan dedicated devices
h.             Pelaporan kesalahan

2.              User-Space I/O Software
Sebagian besar software I/O berada di dalam sistem operasi yang di link dengan user program. System call termasuk I/O, biasanya dalam bentuk prosedur (library procedures). Contoh : count = write(fd,buffer,nbytes)
I/O prosedur dengan level lebih tinggi. Contoh : printf (memformat output dahulu kemudian panggil write)
Yang tidak mempunyai library procedure, contohnya : spooling directory dan daemon (proses khusus) pada proses mencetak, transfer file, USENET.
            3.    Disk

             3.1.                  Perangkat Keras Disk
Disk diorganisasikan menjadi silinder-silinder dengan tiap permukaan terdapat head yang ditumpuk secara vertikal. Track terbagi menjadi sektor-sektor.

3 faktor yang mempengaruhi waktu read/write block disk:
1.              seek time (waktu menggerakkan lengan ke silinder)
2.              rotational delay (waktu sector berputar ke head)
3.              transfer time
yang sangat dominan adalah seek time, jadi performance dapat ditingkatkan dengan mengurangi waktu rata-rata seek


       I/O Error Handling / Penanganan Kesalahan I/O
Error yang umum terjadi adalah :

1.              Error pemrograman
Misalnya request sektor yang tidak ada, ditangani dengan membetulkan program untuk komersial software, batalkan operasi dan berharap tidak akan terjadi lagi.

2.              Error checksum transient
Misalnya karena debu antara head dengan permuka-an disk, ditangani dengan melakukan operasi berulang-ulang dan menandai sector yang rusak.

3.              Error checksum permanent
Misalnya karena kerusakan disk, ditangani dengan membuat daftar blok-blok buruk agar data tidak ditulis di blok-blok buruk tersebut.

4.              Error seek
Misalnya lengan harusnya ke silinder 6 ternyata ke 7, ditangani dengan mengkalibrasi ulang disk supaya berfungsi kembali.


5.              Error controller
Misalnya controller menolak perintah akses, ditangani dengan menukar pengendali yang salah dengan pengendali yang baru atau di-reset.

6.              Track at time caching
Kontroller mempunyai memori untuk menyimpan informasi track dimana ia berada, permintaan pembacaan blok track tersebut dilakukan tanpa pergerakan mekanik.

                           RAM Disk
RAM disk adalah disk driver yang disimulasikan pada memori akses acak (RAM). RAM disk sepenuhnya mengeliminasi waktu tunda yang disebabkan pergerakan mekanis dalam seek dan rotasi. RAM disk berguna untuk aplikasi yang memerlukan kinerja disk yang tinggi.

Device blok adalah media penyimpanan dengan 2 perintah : R(read) dan W(write). Normalnya blok-blok disimpan de disk berputar yang memerlukan mekanisme fisik.

Idenya adalah meniru driver dengan mengalokasikan terlebih dahulu satu bagian memori utama untuk menyimpan blok-blok data.

Keuntungannya : berkecepatan tinggi karena pengaksesan sesaat, tidak ada waktu tunda seek dan waktu tunda rotasi. Sangat cocok untuk menyimpan program atau data yang sering diakses.