Thursday, September 29, 2016

Tugas 1 Oracle Database

2.21.  Latihan
1. Apakah statement SELECT berikut ini dapat dijalankan dengan benar ? Benar/Salah
    SQL> SELECT last_name,job_id,salary as sal
2  FROM EMPLOYEES;

2. Temukan 4 (empat) kesalahan pada statement SELECT berikut : 

3. Tampilkan struktur dari table departments, kemudian tampilkan semua datanya !
   
4. Tampilkan struktur dari table EMPLOYESS. Buat query untuk menampilkan nomer pegawai, nama, pekerjaan, dan tanggal mulai bekerja untuk tiap pegawai.

5. Buat query untuk menampilkan pekerjaan secara unik dari table EMPLOYEES. 

6. Tampilkan nama pegawai digabung dengan pekerjaan dengan dipisah tanda koma, kemudian beri judul “Pegawai dan Pekerjaan” 


7. Buat query untuk menampilkan semua kolom dari table EMP.  Semua kolom digabung jadi satu dengan tanda koma sebagai pemisah, kemudian beri judul “OUTPUT” 

Jawab
1.       Benar
2.       -      penulisan salary x 12 , seharusnya operator x menggunakan * .
-          Penulisan select empno,ename  salary tidak ada pemisah koma antara ename dan salary.
-          Penulisan Gaji  seharusnya tidak usah di tulis . syntax akan error
-          Penulisan setahun tidak usah di tulis . syntax akan error
Dan perintah yang benar seharusnya :
SELECT EMPNO,ENAME, SAL * 12  FROM EMP;

3.       DESC departments;
Select* from departments;

4.       DESC employees;
Select empno,ename,job,hiredate from employees;

5.       Select job from employees group by job;

6.       Select ename||’, ’||job AS ”Pegawai Dan Pekerjaan” from employees;

7.       Select empno||’, ’||ename||’, ’||job||’, ’||hiredate||’, ’||salary AS “output” from employees;


Friday, September 16, 2016

Menambah Performa Ram Dengan Virtual Memory


Kali ini saya akan post salah satu cara agar ram bisa bekerja secara optimal dan maksimal dengan menambahkan Virtual Memory . Virtual Memory adalah adalah teknik manajemen memori yang diimplementasikan menggunakan hardware dan software. Ini peta alamat memori yang digunakan oleh program, yang disebut alamat virtual, menjadi alamat fisik di memori komputer. penyimpanan utama seperti yang terlihat oleh proses atau tugas muncul sebagai ruang alamat bersebelahan atau koleksi segmen yang berdekatan. Sistem operasi mengelola ruang alamat virtual dan penugasan memori nyata untuk memori virtual. Alamat terjemahan hardware dalam CPU, sering disebut sebagai unit manajemen memori atau MMU, secara otomatis menerjemahkan alamat virtual ke alamat fisik. Software dalam sistem operasi dapat memperluas kemampuan ini untuk menyediakan ruang alamat virtual yang dapat melebihi kapasitas memori nyata dan dengan demikian referensi memori lebih dari secara fisik hadir di komputer. Manfaat utama dari memori virtual termasuk membebaskan aplikasi dari keharusan untuk mengelola ruang memori bersama, peningkatan keamanan karena isolasi memori, dan mampu secara konseptual menggunakan memori lebih mungkin tersedia secara fisik, menggunakan teknik paging. Bagi agan yang prustasi PC sering macet atau lelet karena memory ram kurang bisa menggunakan cara ini.
Oke langsung saja kita praktikan. Pertama Buka control panel - System and Security - System. atau bisa klik kanan my computer lalu pilih properti.
Kemudian pilih Change Setting


Kemudian pilih advance -> change , atur memory virtual kemudian klik set.




Nah itu lah cara Bagaimana Menambah Virtual memory . Saya sarankan agar tidak terlalu besar size nya , Maksimal 4 GB saja sudah cukup .

Thursday, September 15, 2016

Sistem operasi Penjadwalan CPU

LATIHAN SOAL : 
1.            Sebutkan perbedaan antara penjadwalan preemptive dan nonpreemptive.
2.            Terdapat 5 job yang datang hampir pada saat yang bersamaan.  Estimasi waktu
eksekusi (burst time) masing-masing 10, 6, 2, 4 dan 8 menit dengan prioritas masing-masing         
3, 5, 2, 1 dan 4, dimana 5 merupakan prioritas tertinggi.  Tentukan rata-rata waktu turnaround 
untuk penjadwalan CPU dengan menggunakan algoritma
a. Round Robin (quantum time = 2)
b. Priority
c. Shortest job first
3.      Diketahui proses berikut :
Proses
Arrival Time
Burst Time
P1
0.0
8
P2
0.4
4
P3
1.0
1

Tentukan rata-rata waktu tunggu dan rata-rata waktu turnaround dengan algoritma penjadwalan
a. FCFS
b. SJF non preemptive
c. SJF preemptive / SRTF
d. Round Robin dengan quantum time = 1

4. Suatu algoritma penjadwalan CPU kemungkinan melibatkan algoritma yang lain, contohnya algoritma FCFS adalah algoritma RR dengan waktu quantum tertentu.  Apakah ada hubungan antara pasangan algoritma berikut ?
a.  Priority dan SJF
b.  Priority dan FCFS
c.  RR dan SJF  
JAWAB
   1.      model penjadwalan yang dipilih menggunakan keadaan 1 dan 4 , sedangkan non-preemptive menggunakan keadaan 2 dan 3.
   2.      DIKET:                        Burst time = 10,6,2,4,8
Priority = 3,5,2,1,4 (5 adalah prioritas tertinggi)
a.       Menggunakan algoritma Round robin (quantum time = 2)

P1
P2
P3
P4
P5
P1
P2
P4
P5
P1
P2
P5
P1
P5
P1
                  0      2       4        6        8       10      12      14      16      18     20     22      24      26     28   30
·      Waktu tunggu untuk untuk P1 = 5, P2 = 3, P3 = 4, P4 = 2, P5 = 4
·      Rata-rata waktu tunggu (turn around) = (5 + 3 + 4 + 2 + 4) / 5 = 3,6
b.      Menggunakan Algoritma Priority
P2
P5
P1
P3
P4
0                           6                                 14                                        24           26                    30
·      Waktu tunggu untuk P1 = 14, P2 = 0, P3 = 24, P4 = 26, P5 = 6
·      Rata-rata waktu tunggu (turn around) = (14 + 0 + 24 + 26 + 6) / 5 = 14
c. Menggunakan Algoritma Shortest Job First
·      Waktu tunggu untuk P1 = 0, P2 = 16, P3 = 10, P4 = 12, P5 = 22
·      Rata-rata waktu tunggu (turn around) = (0 + 16 + 10 + 12 + 22) / 5 = 12

    3.      a. Menggunakan Algoritma FCFS
·            Waktu tunggu untuk P1 = 0, P2 = 8, P3 = 12
·            Rata-rata waktu tunggu (turn around) = (0 + 8 + 12) / 3 = 6,6
b.   Menggunakan Algoritma SJF non preemptive
·            Waktu tunggu untuk P1 = 0
P2 = 9 – 0,4 = 8,6
P3 = 8 – 1 = 7
·            Rata-rata waktu tunggu (turn around) = (0 + 8,6 + 7) / 3 = 5,2
c.     Menggunakan Algoritma SJF preemptive / SRTF
·         Waktu tunggu untuk P1 = 5 – 0 = 5
P2 = 4,8 – 0,4 = 4,4
P3 = 1 – 1 = 0
·         Rata-rata waktu tunggu (turn around) = (5 + 4,4 + 0) / 3 = 3,13
d.         Menggunakan Algoritma Round Robin (quantum time = 1)
·         Waktu tunggu untuk P1 = 8, P2 = 4, P3 = 2
·         Rata-rata waktu tunggu (turn around) = (8 + 4 + 2) / 3 = 4,6
·          
   4.      a.  Priority dan SJF
Algoritma SJF adalah Algoritma Priority untuk menyelesaikan suatu kasus khusus
b.   Priority dan FCFS
Algoritma FCFS adalah Algoritma Priority yang memiliki prioritas sama.
c.  Round Robin dan FCFS
Algoritma Round Robin adalah Algoritma FCFS yang bersifat preemptive dan menggunakan time-sharing.

Soal Sistem Operasi (Proses-Proses)


1.  Sebutkan state pada proses dan jelaskan diagram proses
Jawab: :
a. New: proses sedang dibuat.  
b. Running: proses sedang dieksekusi.  
c. Waiting: proses sedang menunggu beberapa event yang akan terjadi (seperti menunggu untuk menyelesaikan I/O atau menerima sinyal).  
d. Ready: proses menunggu jatah waktu dari CPU untuk diproses.  
e. Terminated: proses telah selesai dieksekusi.

2. Apa yang dimaksud short term scheduler dan long term scheduler?
Jawab: :
a. Longterm-Scheduler (job scheduler), menyeleksi proses-proses mana yang harus dibawa ke ready queue.  
b. Short-term Scheduler (CPU scheduler), memilih proses-proses yang siap untuk dieksekusi, dan mengakolakasikan CPU ke salah satu dari proses-proses tersebut.

3. Jelaskan 4 alasan mengapa proses harus bekerja sama.
Jawab :
a. terjadi pembagian informasi
b. meningkatkan kecepatan komputasi
c. proses dapat dibagi dalam modul-modul
d. lebih memberikan kenyamanan pada programmer.

4. Tuliskan kode program untuk penyelesaian permasalahan producer consumer dengan menggunakan shared memory.
Jawab :
#define BUFFER_SIZE 10
Typedef struct {
. . .
} item;
item buffer[BUFFER_SIZE];
int in = 0;
int out = 0;
Proses producer :
item nextProduced;
while (1) {
while (((in + 1) % BUFFER_SIZE) == out)
; /* do nothing */
buffer[in] = nextProduced;
in = (in + 1) % BUFFER_SIZE;
}
Proses consumer :
item nextConsumed;
while (1) {
while (in == out)
; /* do nothing */
nextConsumed = buffer[out];
out = (out + 1) % BUFFER_SIZE;
}

5. Diketahui skema komukasi antar proses menggunakan mailbox.
a.    Proses P ingin menunggu 2 pesan, satu dari mailbox A dan satu mailbox.
b.   Tunjukan urutan send dan receive yang dieksekusi.
Jawab :
a. Send (A pesan ); mengirim pesan ke mailbox B,
    Receive(B pesan ); menerima pesan dari mailbox A.

b. Bagaimana urutan send dan recieve yang dieksekusi p jika p ingin   
    menunggu satu pesan dari mailbox A atau mailbox B (salah satu atau  
    keduanya) Hanya bisa mengunakan satu:
    Caranya :
    Send (P pesan ); mengirim pesan ke mailbox A,
    Receive ( P pesan); menerima peasan darri A.

6. Jelaskah apa yang dimaksud dengan thread dan struktur dari thread.
Jawab:
Thread atau lighweight process (LWP) adalah suatu unit dasar dari CPU utilization yang berisi program counter, kumpulan register, dan ruang stack. Thread akan bekerjasama dengan thread yang lainnya dalam hal penggunaan bagian kode, bagian data, dan resource sistem operasi, seperti open file dan sinyal secara kolektif yang sering disebut dengan task.
Struktur dari thread terdiri atas dua struktur :
1. Single thread
2. Multi thread.

7. Jelaskan empat keuntungan menggunakan threads pada multiple process.!
Jawab:
1. respon lebih cepat.
2. menggunakan resource bersama-sama.
3. lebih ekonomis.
4. meningkatkan utilitas arsitektur mikroprosessor.

8. Apakah perbedaan antara user-level thread dan kernel-supported threads? 
Jawab:
User level thread adalah thread yang diatur dengan menggunakan pustaka user level thread. Contoh sistem yang menggunakan user thread adalah POSIX Pthreads, Mach C-threads dan Solaris threads.Kernel thread adalah thread yang didukung oleh Kernel.Contoh sistem yang menggunakan kernel thread adalah Windows 95/98/NT/2000, Solaris, Tru64 UNIX, BeOS dan Linux.

9. Ada 3 model multithreading, jelaskan.
Jawab:
a. One to One yaitu satu user-level thread dipetakan ke satu kernel thread.
b. Many-to-One , beberapa user level thread dipetakan ke satu kernel thread.
c. Many-to-Many, beberapa user level thread dipetakan ke beberapa kernel threads.

10. Jelaskan state pada Java thread.
Jawab:

Bahasa pemrograman Java menggunakan Java thread yang dibuat dengan menggunakan class Thread dan mengimplementasikan antar muka yang bersifat runnable (dapat dijalankan). Java thread diatur oleh Java virtual machine (JVM). Java thread terdiri dari state new, runnable, blocked dan dead.