Ariandes Fitra (8020170270)
Jumat, 10 Mei 2019
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)
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
- I/O interface mengirimkan DMA controller untuk permintaan layanan DMA.
- Permintaan bus dibuat oleh pin HOLD pada mikroprosessor dan DMA controller mendapatkan control bus.
- Bus dikembalikan ke DMA controller dari pin HLDA pada mikroprosesor.
- DMA controller menempatkan isi alamat register kedalam address bus.
- DMA controller mengirimkan I/O interface pengakuan DMA, yang memberi tahu I/O interface untuk menempatkan data pada data bus.
- Data di transfer kelokasi memori yang ditunjukan oleh address bus.
- I/O interface mengaitkan data.
- Perminaan bus dojatuhkan, pin HOLd menjadi rendah dan DMA controller melepaskan bus.
- 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/
Langganan:
Postingan (Atom)
Link Syntax Bootstrap
https://hackerthemes.com/bootstrap-cheatsheet/#alert-dismissible
-
Pada tahun 1975, komputer pribadi (PC) pertama Altair diproduksi MITS (Micro Instrumentation Telemetry System) of Albuquerque, New Me...
