Jumat, 10 Mei 2019

Link Syntax Bootstrap

https://hackerthemes.com/bootstrap-cheatsheet/#alert-dismissible

Belajar Coding windows form

(coding class)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.OleDb;

namespace Ariandes_db1
{
    public class Andes
    {
        public static OleDbConnection con;
        public static OleDbCommand cmd;
        public static OleDbDataReader dtr;

        public static OleDbDataAdapter daBuku;
        public static DataTable tblBuku = new DataTable();

        public static OleDbConnection konek_db()
        {
            OleDbConnection con = new OleDbConnection
                ("provider=microsoft.ace.oledb.12.0; data source=Dbperpustakaan.accdb");
            con.Open();
            return con;
        }
    }
}



(coding form)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;

namespace Ariandes_db1
{
    public partial class FrmBuku : Form
    {
        public FrmBuku()
        {
            InitializeComponent();
        }
        void ambildata()
        {
            Andes.tblBuku.Clear();
            Andes.daBuku.Fill(Andes.tblBuku);
        }
        void bersih()
        {
            txtKodeBuku.Clear();
            txtJudulBuku.Clear();
            txtPengarang.Clear();
        }

        private void FrmBuku_Load(object sender, EventArgs e)
        {
            this.KeyPreview = true;
            Andes.con = Andes.konek_db();

            Andes.daBuku = new OleDbDataAdapter
                ("select * from Buku", Andes.con);
            ambildata();

            dataGridView1.DataSource = Andes.tblBuku;
            dataGridView1.ReadOnly = true;
            dataGridView1.AllowUserToAddRows = false;

            dataGridView1.Columns[0].HeaderText = "Kode Buku";
            dataGridView1.Columns[0].Width = 120;

            dataGridView1.Columns[1].HeaderText = "Judul Buku";
            dataGridView1.Columns[1].Width = 150;

            dataGridView1.Columns[2].HeaderText = "Pengarang";
            dataGridView1.Columns[2].Width = 150;
        }

        private void btnSimpan_Click(object sender, EventArgs e)
        {
            Andes.cmd = new OleDbCommand
              ("select * from Buku where Kode_Buku='" + txtKodeBuku.Text + "'", Andes.con);
            Andes.dtr = Andes.cmd.ExecuteReader();

            if (Andes.dtr.HasRows)
            {
                MessageBox.Show("Buku tersebut sudah ada", "Pesan",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Exclamation);
                txtKodeBuku.Clear();
                txtKodeBuku.Focus();
            }
            else if (txtKodeBuku.Text.Trim() == "")
            {
                MessageBox.Show("Kode Buku Tidak Terisi", "Pesan",
                   MessageBoxButtons.OK,
                   MessageBoxIcon.Exclamation);
                txtKodeBuku.Clear();
                txtKodeBuku.Focus();
            }
            else
            {
                Andes.cmd = new OleDbCommand
                    ("insert into Buku(Kode_Buku,Judul_Buku,Pengarang) " +
                     "values ('" + txtKodeBuku.Text + "'," +
                             "'" + txtJudulBuku.Text + "'," +
                             "'" + txtPengarang.Text + "')", Andes.con);
                Andes.cmd.ExecuteNonQuery();
                ambildata();

                MessageBox.Show("Data sudah tersimpan", "Pesan",
                   MessageBoxButtons.OK,
                   MessageBoxIcon.Information);
                bersih();
            }
        }

        private void FrmBuku_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode==Keys.Enter)
            {
                SendKeys.Send("{TAB}");
            }
        }

        private void btnHapus_Click(object sender, EventArgs e)
        {
            int brs;
            string kode;

            brs = dataGridView1.CurrentRow.Index;
            kode = dataGridView1[0, brs].Value.ToString();

            if (MessageBox.Show("Apakah buku dengan kode =" + kode + "\n" +
                              "ingin dihapus?", "Pesan",
                    MessageBoxButtons.OKCancel,
                    MessageBoxIcon.Question) == DialogResult.OK)
            {

                Andes.cmd = new OleDbCommand
                    ("delete from Buku where Kode_Buku='" + kode + "'", Andes.con);
                Andes.cmd.ExecuteNonQuery();
                ambildata();

                MessageBox.Show("Data sudah terhapus", "Pesan",
                   MessageBoxButtons.OK,
                   MessageBoxIcon.Information);
            }
        }

        private void btnKoreksi_Click(object sender, EventArgs e)
        {
            if (btnKoreksi.Text == "Koreksi")
            {
                btnKoreksi.Text = "Edit";
                btnSimpan.Enabled = false;
                btnHapus.Enabled = false;
                txtKodeBuku.Enabled = false;

                int brs;
                brs = dataGridView1.CurrentRow.Index;
                txtKodeBuku.Text = dataGridView1[0, brs].Value.ToString();
                txtJudulBuku.Text = dataGridView1[1, brs].Value.ToString();
                txtPengarang.Text = dataGridView1[2, brs].Value.ToString();

            }
            else if (btnKoreksi.Text == "Edit")
            {
                btnKoreksi.Text = "Koreksi";
                btnSimpan.Enabled = true;
                btnHapus.Enabled = true;
                txtKodeBuku.Enabled = true;

                Andes.cmd = new OleDbCommand
                    ("update Buku set " +
                    "Judul_Buku  ='" + txtJudulBuku.Text + "'," +
                    "Pengarang='" + txtPengarang.Text + "' where " +
                    "Kode_Buku   ='" + txtKodeBuku.Text + "'", Andes.con);
                Andes.cmd.ExecuteNonQuery();
                ambildata();

                MessageBox.Show("Data sudah terEdit", "Pesan",
                  MessageBoxButtons.OK,
                  MessageBoxIcon.Information);
                bersih();
            }
        }
    }
}


(Output)



Minggu, 04 November 2018

Data Transfer with a DMA Controller





  1. I/O interface mengirimkan DMA controller untuk permintaan layanan DMA.
  2. Permintaan bus dibuat oleh pin HOLD pada mikroprosessor dan DMA controller mendapatkan control bus.
  3. Bus dikembalikan ke DMA controller dari pin HLDA pada mikroprosesor.
  4. DMA controller menempatkan isi alamat register kedalam address bus.
  5. DMA controller mengirimkan I/O interface pengakuan DMA, yang memberi tahu I/O interface untuk menempatkan data pada data bus.
  6. Data di transfer kelokasi memori yang ditunjukan oleh address bus.
  7. I/O interface mengaitkan data.
  8. Perminaan bus dojatuhkan, pin HOLd menjadi rendah dan DMA controller melepaskan bus.
  9. Bus dari mikroprosesor dijatuhkan dan pin HLDA menjadi rendah.

Ket:
  • Register tambahan bertambah 1
  • Hitungan byte dikurangi 1
  • jika jumlan byte tidak nol, kembali kelangkah 1
  • jika tidak, hentikan

Sumber: https://www.slideshare.net/ashwiniawatare/dma-and-dma-controller-8237


Rabu, 24 Oktober 2018

Pengertain Thread


Thread merupakan unit dasar dari penggunaan CPU, yang terdiri dari Thread_ID, program counter, register set, dan stack. Sebuah thread berbagi code section, data section, dan sumber daya sistem operasi dengan Thread lain yang dimiliki oleh proses yang sama. Thread juga sering disebut lightweight process. Sebuah proses tradisional atau heavyweight process mempunyai thread tunggal yang berfungsi sebagai pengendali. Perbedaan antara proses dengan thread tunggal dengan proses dengan thread yang banyak adalah proses dengan thread yang banyak dapat mengerjakan lebih dari satu tugas pada satu satuan waktu.
Contoh Thread
1. Single thread: process hanya mengeksekusi satu thread saja pada satu waktu.    
2. Multi thread: process dapat mengeksekusi sejumlah thread dalam sata waktu.




http://dwianggoro9.blogspot.com/2012/10/pengertian-thread.html
http://rikocaplew.blogspot.com/2017/10/contoh-thread.html

pengertian Handheld

Handheld computer Dari Wikipedia bahasa Indonesia, ensiklopedia bebas Handheld computer adalah komputer yang cukup kecil sehingga dapat digenggam. Komputer genggam ini dapat bekerja dengan fungsi yang hampir sama dengan komputer biasa. Meskipun sangat mudah untuk dibawa, komputer genggam tidak dapat menggantikan komputer biasa (PC) karena hanya memiliki keyboard dan layar yang kecil. Beberapa produsen mencoba untuk memecahkan masalah keyboard yang terlalu kecil. Keyboard tersebut diganti dengan electronic pen. Bagaimanapun, electronic pen ini masih bergantung pada teknologi pengenalan tulisan tangan yang masih dalam tahap pengembangan. Kelebihan dari komputer genggam ini adalah pengguna dapat menyimpan serta mengatur data dengan lebih efisien dan akurat. Biasanya komputer genggam dilengkapi dengan teknologi Bluetooth. Bluetooth memang tepat untuk mencetak secara nirkabel, menghubungkan antara komputer genggam dengan mobile printer. Tidak hanya dengan printer tetapi komputer genggam juga dapat dihubungkan dengan alat-alat lain melalui koneksi Bluetooth. Komputer genggam dapat meningkatkan produktivitas pengguna dan memudahkan mereka untuk bekerja lebih efisien. Komputer genggam yang paling banyak digunakan adalah komputer yang khusus dirancang untuk menyediakan fungsi PIM (Personal Information Manager), seperti kalender, agenda, dan buku alamat.

Perkembangan System Handheld
Sekitar tahun 1990-an dikembangkan sistem yang lebih kecil dari
mikrokompuer yang disebut dengan sistem handheld dalam bentuk personal digital
assistants (PDA). Pada beberapa sistem terdapat telepon selular. Sistem ini
mempunyai memory yang terbatas, prosessor dengan kecepatan rendah dan display
screen yang kecil
Sejarah Perkembangan System Handheld
  • 1993 Ponsel pintar yang pertama, IBM Simon, memiliki fitur layar sentuh, email, dan fitur PDA dirilis.
  • 1996 Palm Pilot 1000 personal digital assistant(PDA) diperkenalkan pertama kali dengan sistem operasi Palm OS.
  • 1996 PC handled pertama dengan sistem Windows CE diperkenalkan.
  • 2000 Symbian menjadi sistem operasi genggam modern pertama pada ponsel pintar dengan munculnya Ericsson R380.
  • 2001 The Kyocera 6035 menjadi ponsel pintar pertama yang menggunakan Palm OS.
  •   2002 Microsoft Windows CE versi Pocket PC untuk ponsel pintar diperkenalkan.
  •   2002 BlackBerry merilis ponsel pintar pertamanya.
  • 2007 Apple iPhone dengan iOS pertama kali diperkenalkan.
  • 08 OHA merilis Android 1.0 dengan HTC Dream (T-Mobile G1) sebagai ponsel Android yang pertama.
  • 2009 Palm memperkenalkan webOS melalui Palm Pre.
  • 2009 Samsung memperkenalkan Bada OS melalui Samsung S8500.
  • 2010 Windows Phone OS dirilis.
http://rafiferdiansyah13.blogspot.com/2016/03/pengertian-handheld-computer.html
http://endrg.blogspot.com/2012/03/perkembangan-handheld.html

Pengertian Distributed Processing


Distributed Processing adalah kemampuan menjalankan semua proses pengolahan data secara bersama antara komputer yang berfungsi sebagai pusat dengan beberapa komputer yang lebih kecil dan saling dihubungkan melalui jalur komunikasi. Setiap komputer tersebut memiliki prosesor mandiri sehingga mampu mengolah sebagian data secara terpisah, kemudian hasil pengolahan tadi digabungkan menjadi satu penyelesaian total. Jika salah satu prosesor mengalami kegagalan atau masalah maka prosesor yang lain akan mengambil alih tugasnya. Dalam proses distribusi sudah mutlak diperlukan perpaduan yang mendalam antara teknologi komputer dan telekomunikasi, karena selain proses yang harus didistribusikan, semua host komputer wajib melayani terminal-terminalnya dalam satu perintah dari komputer pusat.



Sumber: http://arifbudimanhsb.blogspot.com/2016/06/distributed-processing-adalah.html

Pengertian Process Control Block (PCO)

Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. roses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah.
Process Control Block adalah informasi-informasi lain yang diperlukan SO untuk mengendalikan dan koordinasi beragam proses aktif, termasuk ini:
  • Keadaan proses: Keadaan mungkin, new ,ready ,running, waiting, halted, dan juga banyak lagi.
  • Program counter: Counter mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk ditambah code information pada kondisi apapun. Besertaan dengan program counter, keadaan/ status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya.
  • Informasi manajemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasardan batas register. tabel page/ halaman, atau tabel segmen tergantung pada sistem memori yangdigunakan oleh sistem operasi (ch 9).
  • Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan bataswaktu, jumlah akun, jumlah job atau proses, dan banyak lagi.
  • Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini,suatu daftar open file dan banyak lagi.
  • PCB hanya berfungsi sebagai tempat menyimpan/gudang untuk informasi apapun yang dapatbervariasi dari prose ke proses.proses ini.
  • CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer.Register tersebut termasuk accumulator, index register, stack pointer, general-puposes register.

Didalam PCB, kita mengenal 3 kelompok, sebutkan dan berikan penjelasan 3 kelompok tersebut.
1.      Process identification data; selalu menyertakan sebuah identifier unik untuk prosesnya (hampir selalu bernilai integer) dan, dalam sebuah sistem multiuser-multitasking, data seperti identifier proses induk, identifier pengguna, identifier grup pengguna, dll. Proses ini sangan relevan, karena itu sering digunakan untuk referensi silang tabel OS, misalnya memungkinkan untuk mengidentifikasi proses yang menggunakan device I/O, atau daerah memori.
2.      Processor state data; adalah potongan-potongan informasi yang mendefinisikan status dari suatu proses ketika proses itu ditangguhkan, yang memungkinkan OS untuk melakukan restart proses nantinya dan masih dapat mengeksekusinya dengan benar. Hal ini selalu menyertakan isi dari register CPU tujuan.
3.      Process control data; digunakan oleh OS untuk mengelola proses itu sendiri.

- https://uniquesciences.wordpress.com/2012/10/04/process-control-block-pcb/


Link Syntax Bootstrap

https://hackerthemes.com/bootstrap-cheatsheet/#alert-dismissible