17 December, 2015

5 Process State and State Transition

Process State adalah kondisi suatu proses sedang berada.
Ada 5 kondisi yaitu :
1. New : proses sedang dibuat.
2. Ready : proses sudah punya semua resource yg dibutuhkan untuk dijalankan, namun CPU sedang tidak mengerjakan instruksi dari proses ini (lagi ngerjain proses lainnya).
3. Running : instruksi proses ini sedang dikerjakan oleh CPU.
4. Blocked : proses tidak bisa dijalankan sementara karena menunggu resource tambahan agar proses ini ready kembali. Misalnya menunggu inputan dari keyboard.
5. Exit : proses selesai.

Five Process State


State Transition adalah perubaha state suatu proses yang diakibatkan oleh suatu event.
Misalnya suatu proses membutuhkan suatu inputan dari mouse untuk dijalankan, maka proses tersebut akan di transisikan ke state Blocked dari yang tadinya sedang berada di state Running.

10 December, 2015

Memory Management with Bitmaps

Memory management dengan bitmaps dilakukan dengan cara :
Membagi suatu memory menjadi beberapa allocation unit dengan ukuran yang sama. 
Besar dari allocation unit tersebut akan mempengaruhi besarnya suatu bitmap. 
Semakin kecil ukuran allocation unit, maka akan semakin besar bitmap-nya. 
Ada pula bit pada bitmap yang bekerja sebagai suatu penanda apakah unit tersebut sedang dipakai (1) atau free (0).

Contoh :

(a) Menunjukan adanya 5 proses (A,B,C,D,E) dan 3 yang masi free (yang ada garis miring). Garis kecil dibawah yang kek di penggaris itu menunjukkan allocation unit-nya.
(b) Bitmap dari memory tersebut.
(c) Sama dengan poin (a) yaitu untuk menunjukan prosesnya namun dalam bentuk yang berbeda.

07 November, 2015

Soal Latihan Interaksi Manusia-Komputer (IMK)

1.   Sebutkan 5 human factors dan penjelasannya!
- Kecepatan navigasi = kecepatan dalam berpindah dari interface yang satu       ke interface lainnya.
Banyaknya error yang dialami user = error yang dialami user saat menggunakan interface tersebut.
- Kepuasan subjektif = kepuasan yang dimiliki oleh user.
Lama waktu yang dibutuhkan untuk dimengerti = seberapa lama seorang user dalam memahami cara penggunaan interface tersebut.
- Kecepatan performa = kecepatan interface dalam menangkap permintaan user. 

2.   Sebutkan 3 level user yang ada dan penjelasannya!
 - Novice / First Time User, ini adalah contoh user yang kurang memahami tentang teknologi
- Knowledgable Intermittent User, user yang cukup paham mengenai computer dan menggunakannya dalam kegiatan sehari-hari biasa.
- Expert Frequent User, user yang mengerti dan mengenal mengenai computer dan memiliki intensitas penggunaan yang tinggi.

3.   Sebutkan dan jelasan 8 golden rules!
Utamakan konsistensi
- Universal Usability
- Memberikan umpan balik / feedback yang baik
- Berikan notifikasi setelah user selesai melakukan sesuatu (misalnya setelah user selesai memberikan komentar lalu keluarkan dialog box berisi “done”)
- Hindari error
- Berikan kemudahan dalam langkah kembali (undo).
- Cepat diproses oleh computer
- Berikan control penuh kepada user

4.   Jelaskan 4 level abstraksi dalam IMK!
-Conceptual Level, pikiran user untuk suatu system.
- Semantic Level, menjelaskan perintah dan input user menjadi sebuah tampilan dalam computer.      
-  Syntactic Level, mendefinisikan perintah user tersebut menjadi bahasa yang dimengerti oleh computer.
- Lexical Level, mengenai device dan cara penggunaan yang dibutuhkan oleh user.

5.   Sebutkan apa saja interactive design!
-Direct manipulation
- Menu selection
- Form fill-in
- Natural language
- Command language

Ini beberapa contoh soal yang saya dapet untuk latihan IMK sebelum ujian (lupa uts ato uas). Semoga membantu!!

06 November, 2015

Konsep Client Server di JSP

Kalian yang lagi belajar bikin website pasti pernah denger mengenai Client dan Server. Di sini saya bakal membahas sedikit mengenai hal tersebut.

Ada 2 macem jenis website, yaitu Client Side dan Server Side.

Di Client Side, pengolahan datanya dilakukan di komputer si client tersebut (browser). Semua kode aslinya juga bisa dilihat (view page source). Karena itu, Client Side website pasti bakal selalu nampilin informasi yang sama buat semua user dan data yang ditampilin ga bisa diubah secara online.

Kalo Server Side, pengolahan datanya dilakukan di server dan setelah diolah baru ditampilin di komputer client dalam bentuk HTML. Server Side lebih aman, karena cuma code HTML-nya doang yang bisa dilihat sedangkan code asli yang ada di dalem-dalemnya itu ga bisa dilihat, jadi ga gampang dirusak.

Oke sekian blog kali ini, semoga berguna dan kalo ada masukkan tambahan bolehhh karena saya juga masi belajar nih...

26 May, 2014

Leftist Tree, Hash dan Trie

Leftist Tree 
Beda dengan BST, jadi Cuma kek BT aja...
Bedanya cuma di tiap Node, punya nilai masing-masing (s(x)). Cara ngitung s(x)-nya itu, dari jarak Node tersebut ke External Node yang paling deket.
Contohnya...



Kek gambar di atas, misal dari Root (1), External Node terdekat dia adalah di Node yang isinya 14. Oleh karena itu s(x)-nya adalah 3.
Untuk insertion-nya bisa dilihat disini karena saya juga belum ngerti :”)


Trie 
Sebenernya ga terlalu mirip sama tree dan simple banget.
Contohnya…
Yaa kek begitulah kira-kira.. 



Hash 
Kebanyakan dipakai disemacem auto-fill atau spell checker gitu.
Hash ini dianggep kek tabel array gitu, misal a = 0, b = 1, dan seterusnya.
Contohnya : atan, char, define.
   H[]          Value
0            Atan
1              ..
2            Char
3            Define
…             …

Nah kalo misal dimasukkin lagi yang depannya sama kek yang uda ada di tabelnya, langsung cari tempat kosong di bawahnya lalu diisi dan di linked sama yang sudah ada itu. Namanya Chaining.
Misal : define, float, exp, char, atan, ceil, floor, acos
H[]             Value
0                atan
1                acos
2                char
3                define
4                exp
5                float
6                ceil
7                floor
…                …..



Krisna
1701290236

25 May, 2014

Heap dan Deap

HEAP
Tree yang cara masukkin datanya berbeda dari BST, ada 3 macem yaitu Min Heap, Max Heap, dan Min Max Heap.
Index nya Left Child = 2n, kalo Right Child = 2n+1.

Min Heap
Data yang ada di root itu adalah data yang paling kecil, makin ke bawah makin gede.



Insertion di heap itu caranya, data masuk ke paling bawah. Lalu di cek sama parentnya.



Misal, kek contoh di atas itu insert 20. Masuk ke tempat paling bawah dan masuknya dari kiri ke kanan. Abis masuk di cek sama Parent-nya. Kalo Parent-nya lebih besar, dituker (karena ini Min Heap). Dan di cek terus sampe Parent-nya lebih kecil dari yang di-insert itu sendiri.


Deletion di heap, data yang mau dihapus nanti nya diganti sama data yang ada di paling bawah. Lalu di cek lagi sama Child-nya. Kalo ada Child yang lebih kecil, dituker. Contohnya kek gini nih






Max Heap
Insertion dan Deletion nya sama persis kek Min Heap, Cuma dibalik aja. Kalo di Max Heap, root nya itu adalah data paling besar. Makin ke bawah datanya akan semakin kecil.
Contoh Max Heap nih..



Min Max Heap

Heap yang ini kek campuran-nya Min Heap sama Max Heap. Jadi dalem 1 tree, Min Heap dan Max Heap saling selang seling. Biar lebih gampang liat gambar-nya aja…
Insertion dan Deletion-nya sama aja, Cuma tergantung tempat di Insert atau Delete nya aja..





Deap

Disebut juga Double Ended Heap.
Nah disini ga ada macem-macemnya kek Heap, kalo di Deap, root nya itu adalah data kosong.
Left Childnya (Yang dari Root doang) itu make prinsip Min Heap, sedangkan Right Childnya (Yang dari Root doang) make prinsip Max Heap.
Insertion dan Deletion-nya pun rada beda dari Heap, karena harus dibandingin dengan Partner-nya dulu setelah di Insert atau Delete.


Misal kek gambar di atas, Partner-nya ditentuin dari warnanya. Nah kenapa angka 30 dan 9 partnernya 40?? Karena di Seberangnya (Right Child dari Root), belum ada data yang setara dengan mereka. Karena itu Partner mereka adalah Partner dari Parent-nya mereka.

Nah buat penjelasan yang lebih lengkap tentang Insertion dan Deletion di Deap ini, lebih baik kalian tanyakan ke dosen masing-masing. Karena saya juga masih ragu sama cara yang saya gunakan, dari pada sesat kan…….



Krisna
1701290236
02PGT

13 May, 2014

Red Black Tree

Hampir sama dengan blog yang terakhir, sesi kali ini tetep panasssss tapi materi kali ini ga terlalu susah buat dingertiin dan cukup lah…
Jadi,

Red Black Tree
Cara buat menginsert datanya sama dengan BST yaitu yang lebih kecil ke sebelah kiri dan yang lebih besar di sebelah kanan.
Disebut Red Black Tree karena setiap Node PASTI punya warna sendiri. Antara Merah atau Hitam.

-    Aturannya :
1.   SETIAP Node harus punya warna yaitu Merah atau Hitam.
2.   Root HARUS berwarna Hitam.
3.   Semua Node-External (Node yang ga keliatan) warnanya Hitam.
4.   Node yang warnanya Merah, 2 Children-nya harus Hitam.


-    Contoh   :


Disini, 13 adalah Root makanya warnanya Hitam.
8 dan 17 berwarna Merah, oleh karena itu Children-nya harus berwarna Hitam.
Untuk kasus yang lain punya cara penyelesaiannya masing-masing.


Pada kasus ini, A (Merah) punya Child X yang warnanya Merah juga. Dan ini melanggar aturanya.
Nah disini, cek Sibling dari A terlebih dahulu (C) kalo Sibling tersebut warnanya merah juga. Maka langsung ubah A dan Siblingnya (C) menjari Hitam dan Parentnya menjadi Merah. Tapi karena Parentnya (B) adalah root, maka tetap berwarna Hitam.
Kalau Sibling dari A tersebut berwarna Hitam atau Kosong (External Node), maka harus dilakukan Rotasi sesuai tempatnya.
Contoh Rotasi seperti di bawah ini :


-   Deletion :
Delete data disini juga sama dengan BST, yaitu diganti dengan Left Child – Right Most Child. Nah setelah diganti, barulah ada aturan yaitu Parent yang berwarna Hitam tidak boleh bertemu Child berwarna Hitam juga.
Cara menyelesaikannya sama dengan Insertion yaitu dengan Rotasi atau ubah warna saja.