Senin, 08 Oktober 2012

Tugas Pemrograman Visual Contoh Penggunaan Variant

Nyoba ngerjain tugas, kepepett hasilnya ngawur ga tau bener apa ga.. ehhehehehehe "yg penting ngerjain n mudah-mudahan bener :D Aminnnnn"

sebelomnya maaf kalau salah :))


Sourcode edit
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Button2: TButton;
    procedure Edit1Change(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  V1, V2, V3, V4, V5 : Variant;
  I:Integer;
 D : Double;
  S : string;

implementation

{$R *.dfm}

procedure TForm1.Edit1Change(Sender: TObject);
begin
 V1 := 10018081;
 edit1.Text := V1;
 V2 :=  5678.9761;
 edit2.Text := V2;
 V3 := 'Siti Eka Chotimah';
 edit3.Text := V3;
 V4 := 5000;
 edit4.Text := V4;
 V5 := 8081.98047;
 edit5.Text :=V5;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Application.Terminate;
end;
end.

Sourcode button keluar
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Button2: TButton;
    procedure Edit1Change(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  V1, V2, V3, V4, V5 : Variant;
  I:Integer;
 D : Double;
  S : string;

implementation

{$R *.dfm}

procedure TForm1.Edit1Change(Sender: TObject);
begin
 V1 := 1;
 edit1.Text := V1;
 V2 :=  1234.5678;
 edit2.Text := V2;
 V3 := 'Hello World';
 edit3.Text := V3;
 V4 := 1000;
 edit4.Text := V4;
 V5 := 2235.5678;
 edit5.Text :=V5;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Application.Terminate;
end;
end.



Rabu, 20 Juni 2012

basis data


1.       Cd c:\xampp\mysql\bin
Mysql –u root –p
2.       Create table mahaiswa ….
3.       Insert into nama table values ()
4.       Select * from …
5.       Alter table namaa table modify ….
6.       Select from where
7.       Ubah data
Update nama table set….
Update mahasiswa set alamat =’yogyakarta’;
8.       Hapus data
Delete from tnama table where
9.       Menampilkan kode buku yang mengandung kode buku selain 123
Select * from buku where kd_buku < > ‘123’
10.   Menampilkan data buku yg mengandung judul basis data
Select * from buku where judul like ‘%basis data%’
11.   Menampilkan data buku yg mengandung judul basis data dan tahun terbit 2012
Select * from buku where judul like ‘%basis data%’ and tahun terbit = ‘2012’
12.   Select count (*) from ambil
13.   Alter table mahasiswa drop
14.   Cari nama mhs yg diawali R
15.   Select nim, nama_mhs from mhs where nama_mhs like ‘R%’
16.   Select avg(nilai)from
17.   Nama dosen yang mengajar kuliah dengan kodekul it100
Select d.nama_dosen from dosen as d left join mengajar as m on nip = m.nip where kode_kul =’it100’
18.   Select max(nilai)

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\BASDAT>cd c:\xampp\mysql\bin

C:\xampp\mysql\bin>mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.41 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| cdcol              |
| mysql              |
| phpmyadmin         |
| test               |
+--------------------+
5 rows in set (0.06 sec)

mysql> create database irma;
Query OK, 1 row affected (0.00 sec)

mysql> show databases
    -> ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| cdcol              |
| irma               |
| mysql              |
| phpmyadmin         |
| test               |
+--------------------+
6 rows in set (0.00 sec)

mysql> use irma;
Database changed
mysql> create table mhs (nim char(8) primary key, nama_mhs varchar(25));
Query OK, 0 rows affected (0.06 sec)

mysql> desc mhs;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| nim      | char(8)     | NO   | PRI | NULL    |       |
| nama_mhs | varchar(25) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
2 rows in set (0.02 sec)

mysql> alter table mhs sdd (alamat varchar(30));
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'sdd (
alamat varchar(30))' at line 1
mysql> alter table mhs add (alamat varchar(30));
Query OK, 0 rows affected (0.06 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql>
mysql> desc mhs;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| nim      | char(8)     | NO   | PRI | NULL    |       |
| nama_mhs | varchar(25) | YES  |     | NULL    |       |
| alamat   | varchar(30) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

mysql> alter table mhs add telp varchar(13) after nama_mhs;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc mhs;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| nim      | char(8)     | NO   | PRI | NULL    |       |
| nama_mhs | varchar(25) | YES  |     | NULL    |       |
| telp     | varchar(13) | YES  |     | NULL    |       |
| alamat   | varchar(30) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

mysql> alter table mhs drop telp;
Query OK, 0 rows affected (0.05 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc mhs;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| nim      | char(8)     | NO   | PRI | NULL    |       |
| nama_mhs | varchar(25) | YES  |     | NULL    |       |
| alamat   | varchar(30) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)

mysql> alter table mhs modify alamat varchar(100);
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc mhs;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| nim      | char(8)      | NO   | PRI | NULL    |       |
| nama_mhs | varchar(25)  | YES  |     | NULL    |       |
| alamat   | varchar(100) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

mysql> alter table mhs rename alamat to alamat_mhs;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'to al
amat_mhs' at line 1
mysql> alter table mhs rename to mahasiswa;
Query OK, 0 rows affected (0.00 sec)

mysql> desc mhs;
ERROR 1146 (42S02): Table 'irma.mhs' doesn't exist
mysql> desc mahasiswa_UAD;
ERROR 1146 (42S02): Table 'irma.mahasiswa_uad' doesn't exist
mysql> drop table mahasiswa_UAD;
ERROR 1051 (42S02): Unknown table 'mahasiswa_uad'
mysql> create database Kuliah;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| cdcol              |
| irma               |
| kuliah             |
| mysql              |
| phpmyadmin         |
| test               |
+--------------------+
7 rows in set (0.00 sec)

mysql> use kuliah;
Database changed
mysql> create table kuliah (siswa char(50) matkul varchar (20));
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'matku
l varchar (20))' at line 1
mysql> create table kuliah (siswa char(50), matkul char(20));
Query OK, 0 rows affected (0.05 sec)

mysql> desc kuliah;
+--------+----------+------+-----+---------+-------+
| Field  | Type     | Null | Key | Default | Extra |
+--------+----------+------+-----+---------+-------+
| siswa  | char(50) | YES  |     | NULL    |       |
| matkul | char(20) | YES  |     | NULL    |       |
+--------+----------+------+-----+---------+-------+
2 rows in set (0.02 sec)

mysql> create database siswa;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| cdcol              |
| irma               |
| kuliah             |
| mysql              |
| phpmyadmin         |
| siswa              |
| test               |
+--------------------+
8 rows in set (0.00 sec)

mysql> use siswa;
Database changed
mysql> creste table siswa (nim char(8) primary key, nama_siswa varchar(25));
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'crest
e table siswa (nim char(8) primary key, nama_siswa varchar(25))' at line 1
mysql> create table siswa






Senin, 14 Mei 2012

Tugas 9 Sistem Operasi



1.      Terjadinya deadlock
Proses disebut deadlock, jika proses menunggu suatu kejadian tertentu yang tak akan pernah terjadi. Sekumpulan proses berkondisi deadlock, jika setiap proses yang ada dikumpulan itu menunggu sesuatu kejadian yang hanya dapat dilakukan proses lain yang juga berada di kumpulan itu. Proses menunggu kejadian yang tak akan pernah terjadi. Proses deadlock terjadi  ketika proses-proses mengakses secara eksklusif sumber daya. Semua deadlock yang terjadi melibatkan persaingan memperoleh sumber daya ekslusif oleh dua proses atau lebih. Adanya deadlock akan mengakibatkan sistem menjadi kacau.

2.      Perbedaaan antara Race Condition dan Necessary conditions adalah:
Kalau Race condition adalah situasi dimana terdapat beberapa proses mengakses dan memanipulasi data yang sama secara bersamaan. Nilai data bergantung dari proses mana yang selesai terakhir. Hal ini akan menyebabkan nilai data menjadi tidak benar, jika tidak terdapat mekanisme untuk mensinkronisasikan data tersebut kepada proses-proses yang menggunakannya. Sebagai contoh, perhatikanlah sebuah print spooler. Ketika sebuah proses ingin mencetak sebuah berkas, proses tersebut memasukkan nama berkas ke dalam sebuah spooler direktori.
Sedangkan Necessary conditions adalah syarat-syarat perlu terjadinya deadlock yang meliputi:
·         Mutual Eksklusif (Mutual Exclusion): hanya ada satu proses yang boleh memakai sumber daya, dan proses lain yang ingin memakai sumber daya tersebut harus menunggu hingga sumber daya tadi dilepaskan atau tidak ada proses yang memakai sumber daya tersebut.
·          Memegang dan menunggu (Hold and Wait): proses yang sedang memakai sumber daya boleh meminta sumber daya lagi maksudnya menunggu hingga benar-benar sumber daya yang diminta tidak dipakai oleh proses lain, hal ini bisa menyebabkan kelaparan sumber daya sebab bisa saja sebuah proses tidak mendapat sumber daya dalam waktu yang lama
·          Tidak ada Preemption (Non-pre-emptive): sumber daya yang ada pada sebuah proses tidak boleh diambil begitu saja oleh proses lainnya. Untuk mendapatkan sumber daya tersebut, maka harus dilepaskan terlebih dahulu oleh proses yang memegangnya, selain itu seluruh proses menunggu dan mempersilahkan hanya proses yang memiliki sumber daya yang boleh berjalan
·           Circular Wait: adanya kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang dipegang proses berikutnya.

3.      Instal linuk
Disini saya menginstal linuk dengan menggunakan virtual box dengan ubuntu-11.10-desktop-i386 . Dengan tampilan desktop sebagai berikut:

Dan tampilan terminal sebagai berikut:


Senin, 07 Mei 2012

Tugas 8 Sistem Operasi



1.      Terjadinya konkurensi pada saat proses-proses berada pada saat yang sama. Konkurensi muncul pada saat konteks yang berbeda, antara lain:
·         Banyak aplikasi (multiple application).
Multiprogramming memungkinkan banyak proses sekaligus dijalankan. Proses-proses dapat berasal dari aplikasi-aplikasi berbeda. Pada sistem multiprogramming bisa terdapat banyak aplikasi sekaligus yang dijalankan di sistem komputer.
·         Aplikasi terstruktur.
Perluasan prinsip perancangan modular dan pemrograman terstruktur adalah suatu aplikasi dapat secara efektif diimplementasikan sebagai sekumpulan proses. Dengan sekumpulan proses, maka tiap proses menyediakan satu layanan spesifik tertentu.
·         Struktur sistem operasi.
Keunggulan strukturisasi dapat juga diterapkan ke pemrograman sistem. Beberapa sistem operasi aktual yang dipasarkan dan yang sedang dalam riset telah diimplementasikan sebagai sekumpulan proses. Sistem operasi bermodelkan client/server menggunakan pendekatan ini.
·         Untuk Strukturisasi Satu Proses.
Saat ini untuk peningkatan kinerja maka satu proses dapat memiliki banyak thread yang independen. Thread-thread tersebut harus dapat bekerjasama untuk mencapai tujuan proses.

2.      Masalah-masalah ketika terjadi konkurensi:
·         Mutual Exclusion (pengeluaran timbal balik)
Merupakan kondisi dimana terdapat sumber daya yang tidak dapat dipakai bersama pada waktu yang bersamaan (misalnya : printer, disk drive). Kondisi demikian disebut sumber daya kritis, dan bagian program yang menggunakan sumber daya kritis disebut critical region / section. Hanya satu program pada satu saat yang diijinkan masuk ke critical region. Pemrogram tidak dapat bergantung pada sistem operasi untuk memahami dan memaksakan batasan ini, karena maksud program tidak dapat diketahui oleh sistem operasi. Hanya saja, system operasi menyediakan layanan (system call) yang bertujuan untuk mencegah proses lain masuk ke critical section yang sedang digunakan proses tertentu. Pemrograman harus menspesifikasikan bagian-bagian critical section, sehingga sistem operasi akan menjaganya. Pentingnya mutual exclusion adalah jaminan hanya satu proses yang mengakses sumber daya pada suatu interval waktu.
Contoh : Pada saat kita sedang makan di sebuah meja orang lain tidak bisa menempati meja tersebut hingga kita pergi dari meja itu.

·         Deadlock (buntu)
Deadlock merupakan kondisi terparah karena banyak proses dapat terlibat dan semuanya tidak dapat mengakhiri prosesnya secara benar.
Contoh : Terdapat dua proses, yaitu P1 dan P2 dan dua sumber daya kritis, yaitu R1 dan R2.
Proses P1 dan P2 harus mengakses kedua sumber daya tersebut, dengan kondisi ini terjadi : R1 diberikan ke P1, sedangkan R2 diberikan ke P2.

Karena untuk melanjutkan eksekusi memerlukan kedua sumber daya sekaligus maka kedua proses akan saling menunggu sumber daya lain selamanya. Tak ada proses yang dapat melepaskan sumber daya yang telah dipegangnya karena menunggu sumber daya lain yang tak pernah diperolehnya. Kedua proses dalam kondisi deadlock, yang tidak dapat membuat kemajuan apapun dan deadlock merupakan kondisi terparah karena dapat melibatkan banyak proses dan semuanya tidak dapat mengakhiri prosesnya secara benar.
·         Starvation (kelaparan)
Starvation adalah keadaan dimana pemberian akses bergantian terus-menerus, dan ada suatu proses yang tidak mendapatkan gilirannya.
Contoh : Terdapat tiga proses, yaitu P1, P2 dan P3.
P1, P2 dan P3 memerlukan pengaksesan sumber daya R secara periodic Skenario berikut terjadi :
P1 sedang diberi sumber daya R sedangkan P2 dan P3 diblocked menunggu sumber daya R.
Ketika P1 keluar dari critical section, maka P2 dan P3 diijinkan mengakses R.
Asumsi P3 diberi hak akses, kemudian setelah selesai, hak akses kembali diberikan ke P1 yang saat itu kembali membutuhkan sumber daya R.
Jika pemberian hak akses bergantian terus-menerus antara P1 dan P3, maka P2 tidak pernah memperoleh pengaksesan sumber daya R. Dalam kondisi ini memang tidak terjadi deadlock, hanya saja P2 mengalami starvation (tidak ada kesempatan untuk dilayani).
·            Sinkronisasi
Sinkronisasi adalah proses pengaturan jalannya beberapa proses pada saat yang bersamaan. tujuan utama sinkronisasi adalah menghindari terjadinya inkonsitensi data karena pengaksesan oleh beberapa proses yang berbeda (mutual exclusion) serta untuk mengatur urutan jalannya proses-proses sehingga dapat berjalan dengan lancar dan terhindar dari deadlock dan starvation. Sinkronisasi umumnya dilakukan dengan bantuan perangkat sinkronisasi. Penyelesaian terhadap masalah ini sangat penting karena perkembangan teknologi sistem komputer menuju ke sistem multiprocessing, terdistribusi dan paralel yang mengharuskan adanya proses-proses kongkuren.
Contoh :
Ø  Bounded Buffer : Struktur data untuk menampung suatu nilai dengan kapasitas    yang terbatas (bounded)
Contoh : Produser – Konsumer
Produser menghasilkan suatu barang, kemudian meletakkannya di bounded buffer.
Konsumer mengambil suatu barang yang dibutuhkan dari bounded buffer.
Ø  Race Condition : situasi di mana beberapa proses mengakses dan memanipulasi data bersama pada saat besamaan. Nilai akhir dari data bersama tersebut tergantung pada proses yang terakhir selesai.
Contoh sederhana, sebuah print spooler. Ketika sebuah proses ingin mencetak sebuah berkas, proses tersebut memasukkan nama berkas ke dalam sebuah spooler direktori yang khusus. Proses yang lain, printer daemon, secara periodik memeriksa untuk mengetahui jika ada banyak berkas yang akan dicetak, dan jika ada berkas yang sudah dicetak dihilangkan nama berkasnya dari direktori.
Sumber :

Kamis, 19 April 2012

SISTEM OPERASI

Mohon Maaf apabila ada kesalahan dalam menulis blog ini J

1.      Definisi Sistem Operasi adalah sebauh program yang bertindak sebagai perantara antara pemakai dan perangkat keras computer.

Fungsi system operasi
-          Sebagai pengelola sumber daya computer
-          Sebagai penyedia layanan
Alasan pengembangan SO
-          Membuat computer mudah digunakan
-          Supaya source-source computer efisien
-          Execusi program dan memudahkan system
2.      Suatu proses berada pada proses berikut karena:
-          Suspend : karena ada proses lain yang sedang running yang dapat memerintahkan suspend
-          Resume : karena system berfungsi secara buruk dan mungkin gagal maka proses-proses dapat disuspend agar diresume setelah masalah diselesaikan. Resume adalah melanjutkan proses kembali proses yang terhenti.

3.      Jika diketahui terdapat 4 macam antrian proses, yaitu A B C D dengan waktu tiba 2-5-1-3 dan lama eksekusi 6-8-3-2. Pertanyaan:
-          Kapan dimulainya eksekusi dari tiap-tiap antrian proses tsb?
-          Kapan selesainya eksekusi?
-          Hitung Turn Arround Time (TA)-nya?
-          Berapa rerata TA?

RUMUS :
-          Selesai eksekusi = lama eksekusi + mulai eksekusi
-          Waktu tunggu = mulai eksekusi – waktu tiba
-          TA = watu tunggu + lama eksekusi
-          ∑TA = jumlah keseluruhan TA
-          Rerata TA = ∑TA / ∑job
JAWAB:
Nama Proses
Waktu Tiba
Lama Eksekusi
Mulai Eksekusi
Selesai Eksekusi
Waktu Tunggu
TA
C
 1
3
1
4
0
3
A
2
6
4
10
2
8
D
3
2
10
12
7
9
B
5
8
12
20
7
15





∑TA = 35





TA = 8,75


4.      Alur alamat logic menjadi alamat fisik dalam konsep paging:
-          Alamat yang dihasilkan CPU di bagi atas page (p) dan page offset (d)
-          Nomor page (p) digunakan sebagai indeks ke suatu page memori fisik
-          Page table berisi base address untuk tiap page pada memori fisik
-          Base address dikombinasikan dengan page offset untuk mendefinisikan alamat fisik memori



5.      Tahapan pengalokasian memori:
-          Alokasi partisi tunggal / statis
·         Relokasi register digunakan untuk memproteksi masing-masing user proses dan perubahan kode system operasi dan data
·         Relokasi register terdiri dari alamat fisik bernilai rendah. Limit register terdiri dari rentang /range alamat logic . Alamat logik harus lebih kecil dari limit register

                              
-          Alokasi partisi non tunggal/ dinamis
·         Partisi Fixed – sized (MFT)
Ø  Memori dibagi menjadi beberapa blok dengan ukuran tertentu yang seragam
Ø  Jumlah proses yang bisa running max hanya sejumlah blok yang disediakan
·         Partisi Variabel-Size (MVT)
Ø  Pembagian memori sesuai dengan request dari proses-proses yang ada
Ø  Peranan memori manajemen semakin penting: list dari partisi yang digunakan/free dll