Tujuan

Blog ini bertujuan untuk berbagi informasi dengan para pembaca sekalian, dan sebagai bahan pembelajaran bagi penulis. Mudah-mudahan Blog ini bermanfaat bagi para pembaca, juga bagi penulis.

Selasa, 17 Desember 2013

BAB VI - MANAJEMEN DEVICE


Salah satu tugas sistem operasi adalah mengontrol operasi-operasi peranti input/output (I/O) atau device pada sistem computer. Misalnya sistem operasi bertugas mengambil data masukan dari piranti masukan untuk diproses lebih lanjut oleh processor. Juga mengontrol/ memeriksa dulu piranti keluaran sebelum pengirimana data. Selain itu sistem operasi harus menyediakan antarmuka yang mudah dan seragam untuk operasi-operasi I/O.

 

6.1 ORGANISASI SISTEM I/O

Ditinjau dari segi organisasi fisik :

1.      Piranti I/O (Device)

2.      Device Controller (adapter)

3.      Bus I/O

 

Ditinjau dari segi organisasi sistem perangkat lunaknya :

1.      Lapisan interupt handler

2.      Lapisan device driver

3.      Lapisan subsistem I/O atau Kernel I/O

4.      Lapisan pustaka I/O aplikasi

 

6.2 PERANGKAT KERAS I/O

6.2.1 Peranti I/O

 

            Dikelompokkan berdasarkan karakteristiknya :

1.      Modus transfer data

2.      Metode akses

3.      Jadwal transfer

4.      Sharing

5.      Kecepatan akses

6.      Modus operasi I/O

 

Dibedakan berdasarkan fungsionalitas :

1.      Peranti antarmuka

2.      Peranti transmisi

3.      Peranti penyimpanan data

 

6.2.2        Device Controller

Merupakan bagian dari organisasi fisik yang berfungsi sebagai pengendali digital terhadap peranti.

 

6.2.3        Bus I/O

Berfungsi menghubungkan device controler dengan elemen internal komputer.

 

6.2.4        Pengalamatan Peranti I/O

Metoda untuk memberi alamat :

1.      Direct mapped I/O addressing

2.      Memory mapped I/O addressing

 

6.2.5        Metode Transfer Data

1.      Programmed I/O atau Pooling

2.      Interrupt Driven I/O

3.      DMA (Direct Memori Access)

 

6.3 PERANGKAT LUNAK I/O

6.3.1 Tujuan Perancangan Perangkat Lunak

            1. Device Independence

            2. Uniform Naming

            3. Error Handling

            4. Transfer Sinkron vs Asinkron

            5. Shareable vs Dedicated Device

 

6.3.2 Komponen Perangkat Lunak

            1. Lapisan Interupt Handler

            2. Lapisan Device Driver

            3. Lapisan Subsistem I/O atau Kernel I/O

4. Lapisan Pustaka I/O aplikasi

 

6.4 MANAJEMEN DEVICE

1.      Scheduling

2.      Buffering

3.      Caching

4.      Spooling

5.      Device Reservation

Senin, 15 Juli 2013

Berlari lah

Rumput bergoyang, bersorak sorai
meneriakkan "berlari lah terus berlari",
dan sang kuda pun terus berlari sekencang kencang nya.
Ia berlari dan berlari
sementara ia sadar,
dirinya berada dalam kurungun kehidupan,
kandang berjeruji.
 
Berlari sepanjang waktu
dan berusaha menuju akhir,
ingin menguak tali kekang yang terpasang,
ingin menghempas pelana di punggung nya.
 
Kuda terlalu lelah berlari,
namun tak kunjung usai pecarian pintu kandang.
rumput mengakhiri teriakan nya, sorak sorai itu
"terus lah berlari, hanya itu yg kau mampu".
Kuda pun berhenti dan terdiam,
apakah ini akhir?
Ia lelah mencari,
dan terlelap dalam tidur panjang.
 

-- (Batam030715) --

Kamis, 23 Mei 2013

Peduli pada sekitar


Pada bulan kedua diawal kuliah saya, seorang Profesor memberikan quiz mendadak pada kami. Karena kebetulan cukup menyimak semua kuliah-kuliahnya, saya cukup cepat menyelesaikan soal-soal quiz, sampai pada soal yang terakhir.
 
Soal terakhir ini adalah : Siapa nama depan wanita yang menjadi petugas pembersih kampus? Saya yakin soal ini cuma "bercanda". Saya sering melihat perempuan ini. Tinggi, berambut gelap dan berusia sekitar 50-an, tapi bagaimana saya tahu nama depannya... ? Saya kumpulkan saja kertas ujian saya, tentu saja dengan jawaban soal terakhir kosong.
 
Sebelum kelas usai, seorang rekan bertanya pada Profesor itu, mengenai soal terakhir akan "dihitung" atau tidak. "Tentu Saja Dihitung !!" kata si Profesor. "Pada perjalanan karirmu, kamu akan ketemu banyak orang. Semuanya penting !!! Semua harus kamu perhatikan dan pelihara, walaupun itu cuma dengan sepotong senyuman, atau sekilas "hallo"!
 
Saya selalu ingat pelajaran itu. Saya kemudian tahu, bahwa nama depan ibu pembersih kampus adalah "Dorothy".

Renungkanlah,
ternyata perhatian dan kepedulian itu juga penting.

(disadur dari file.pdf oleh Danang Junaedi)

Selasa, 23 April 2013

Pemrograman Visual (Array)

Kali ini Saya akan menampilkan sebuah contoh program sederhana yang menggunakan array, dan Saya akan melibatkan fitur Visible atau fungsi Hide & Show untuk variasi program.
Berikut tampilan pertama dari jendela program terlihat pada gambar.

 
Pada jendela ini klik gambar untuk menampilkan objek yang invisible dan menyembunyikan objek yang akan dihilangkan (kode ada pada bagian bawah). Semua Objek yang ada dibuat invisible dengan cara mengubah nilai Visible pada properties menjadi False (kecuali beberapa objek seperti gambar di atas yakni dua label dan satu picture box). Setelah di klik akan menampilkan jendela seperti ini.
 
 
 
Perhatikan foto kedua, objek yang sebelumnya terlihat pada foto pertama sudah hilang(Hide) dan digantikan oleh objek baru(Show) yang sebelumnya tidak terlihat. Silahkan isi form sesuai data, dan klik next untuk mengisikan data selanjutnya atau klik prev untuk melihat data sebelumnya. Data sebelumnya masih tersimpan dalam array untuk sementara, apabila aplikasi tidak di tutup. Dan jika di klik tombol view akan menampilkan jendela seperti berikut.
 
 
Berikut kode program nya, silahkan dicoba mudah-mudahan berjalan dengan baik.
 

Public Class Form1
    Private Structure DataMahasiswa
        Dim Nama As String
        Dim Nomor As String
        Dim Jurusan As String
        Dim Tanggal As String
        Dim Alamat As String
    End Structure
    Dim Indeks As Integer
    Dim Data() As DataMahasiswa
    Sub DaftarMahasiswa()
        Data(Indeks).Nama = TextBox2.Text
        Data(Indeks).Nomor = TextBox3.Text
        Data(Indeks).Jurusan = ComboBox1.Text()
        Data(Indeks).Tanggal = TextBox5.Text
        Data(Indeks).Alamat = TextBox6.Text
    End Sub
    Sub HapusDaftar()
        TextBox2.Text = ""
        TextBox3.Text = ""
        ComboBox1.Text = ""
        TextBox5.Text = ""
        TextBox6.Text = ""
        TextBox2.Focus()
    End Sub
    Sub TampilanData()
        MsgBox("Informasi Data Mahasiswa ke-" & Indeks & Chr(10) & Chr(10) & _
        "Nama          : " & Data(Indeks).Nama & Chr(10) & _
        "NPM           : " & Data(Indeks).Nomor & Chr(10) & _
        "Jurusan       : " & Data(Indeks).Jurusan & Chr(10) & _
        "Tanggal Lahir : " & Data(Indeks).Tanggal & Chr(10) & _
        "Alamat        : " & Data(Indeks).Alamat, , "Data Mahasiswa")
    End Sub
    Sub Tampilan()
        TextBox2.Text = Data(Indeks).Nama
        TextBox3.Text = Data(Indeks).Nomor
        ComboBox1.Text = Data(Indeks).Jurusan
        TextBox5.Text = Data(Indeks).Tanggal
        TextBox6.Text = Data(Indeks).Alamat
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Indeks = 1
        ReDim Data(Indeks)
        TextBox1.Text = Indeks

        Dim Jrs() As String = {"Teknik Informatika", "Sistem Informasi Manajemen", "Sistem Informasi Akuntansi", "Manajemen Informatika", "Komputerisasi Akuntansi"}
        For i As Integer = 0 To 4
            ComboBox1.Items.Add(Jrs(i))
        Next
    End Sub
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        TextBox1.Text = Indeks
        If Indeks = UBound(Data) Then
            ReDim Preserve Data(Indeks + 1)
        End If
        DaftarMahasiswa()
        Indeks = Indeks + 1
        TextBox1.Text = Indeks
        Tampilan()
        If Indeks > 1 Then Button3.Show()
        Button2.Show()

    End Sub
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        If Indeks > LBound(Data) Then
            DaftarMahasiswa()
            Indeks = Indeks - 1
            Tampilan()
        End If
        If Indeks = 1 Then Button3.Hide()
        TextBox1.Text = Indeks
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        DaftarMahasiswa()
        TampilanData()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        HapusDaftar()
    End Sub

    Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
        Label1.Show()
        Label2.Show()
        Label3.Show()
        Label4.Show()
        Label5.Show()
        Label6.Show()
        Label7.Hide()
        Label8.Show()
        Label9.Hide()
        TextBox1.Show()
        TextBox2.Show()
        TextBox3.Show()
        TextBox5.Show()
        TextBox6.Show()
        ComboBox1.Show()
        Button1.Show()
        Button2.Show()
        Button3.Show()
        Button4.Show()
        PictureBox1.Hide()
        PictureBox2.Show()
    End Sub

    Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox2.Click
        End
    End Sub
End Class

Selasa, 16 April 2013

Memberi Ketika Dibutuhkan


Waktu itu, saya masih seorang sukarelawan yang bekerja di sebuah rumah sakit, saya berkenalan dengan seorang gadis kecil yang bernama Liz,
seorang penderita satu penyakit serius yang sangat jarang.
Kesempatan sembuh hanya ada pada adiknya,
seorang pria kecil yang berumur 5 tahun,
yang secara mujizat sembuh dari penyakit yang sama.
Anak ini memiliki antibodi yang diperlukan untuk melawan penyakit itu.


Kemudian,
Dokter mencoba menerangkan kondisi lengkap medikal tersebut
ke anak kecil ini,
dan bertanya apakah ia siap memberikan darahnya kepada kakak perempuannya.
Saya melihat si kecil itu ragu-ragu sebentar,
sebelum mengambil nafas panjang dan berkata
"Baiklah... Saya akan melakukan hal tersebut,
asalkan itu bisa menyelamatkan kakakku".

Mengikuti proses tranfusi darah,
si kecil ini berbaring di tempat tidur, disamping kakaknya.
Wajah sang kakak mulai memerah,
tetapi Wajah si kecil mulai pucat dan senyumnya menghilang.
Sikecil melihat ke dokter itu dan bertanya dalam suara yang bergetar,
"Apakah saya akan langsung mati dokter... ?"
Rupanya si kecil sedikit salah pengertian.
Ia merasa bahwa ia harus menyerahkan semua darahnya
untuk menyelamatkan jiwa kakaknya.


Renungkan lah.
Bukankah pengertian dan sikap adalah segalanya....



(disadur dari file.pdf oleh Danang Junaedi)

Senin, 15 April 2013

Pemrograman Visual (Logika Perbandingan)

Berikut adalah sebuah contoh program sederhana menggunakan bahasa VB.net. Program ini menggunakan logika perbandingan (If, Select Case).
 


Berikut uraian kode nya.


Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ListBox1.Items.Add("Premium")
        ListBox1.Items.Add("Pertamax")
        ListBox1.Items.Add("Solar")

        ComboBox1.Items.Add("Sepeda Motor")
        ComboBox1.Items.Add("Mobil")
        ComboBox1.Items.Add("Truk")
    End Sub

    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        Select Case ListBox1.SelectedIndex
            Case 0
                TextBox1.Text = "4500"
            Case 1
                TextBox1.Text = "10400"
            Case Else
                TextBox1.Text = "4000"
        End Select
    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        Select Case ComboBox1.SelectedIndex
            Case 0
                Label9.Text = ": 2"
            Case 1
                Label9.Text = ": 4"
            Case Else
                Label9.Text = ": 6"
        End Select
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim jl, ju As Double
        If (RadioButton1.Checked = True) Then
            Label10.Text = ": " & TextBox2.Text
            jl = Val(TextBox1.Text) * Val(TextBox2.Text)
            Label11.Text = ": " & CStr(jl)
        ElseIf (RadioButton2.Checked = True) Then
            Label11.Text = ": " & TextBox2.Text
            ju = Val(TextBox2.Text) / Val(TextBox1.Text)
            Label10.Text = ": " & CStr(ju)
        End If
    End Sub
End Class