• Buat teman - teman yang kesulitan mengatur tampilan blog karena ada bagian yang tertalu panjang seperti blog archive...
  • Bagi kalian yang suka menggunakan selotip/pita perekat hanya untuk menempelkan benda...
  • Setelah bertemu dengan mata kuliah Sistem Operasi, saya baru tahu apa itu konkurensi...
  • Berikut dibawah ini merupakan daftar perintah-perintah yang ada pada command prompt dari A-X...
  • Pada mata pelajaran SMP atau SMA ada masalah tentang Transformasi Geometri. Jangan salah, ternyata Transformasi Geometri...

Wednesday, 30 May 2012

Kreasi Selotip/Pita Perekat

Kreasi Selotip/Pita Perekat - Bagi kalian yang suka menggunakan selotip/pita perekat hanya untuk menempelkan benda atau menyatukan benda, banyak kegunaan lain yang bisa dikreasikan dengan selotip/pita perekat. Kreasi selotip/pita perekat sebagai berikut, selamat berkreasi...

1. Percantik penampilanmu

Carilah semua jenis ide proyek di Pinterest.com, dari tas jinjing bermotif zebra hingga cincin yang terbuat dari selotip bermotif.

2. Perbaiki barang dari pasar loak

Gunakan selotip untuk menyamarkan goresan di laci meja rias, cerahkan bingkai cermin yang kusam atau menutup jok yang robek dengan tambal sulam warna-warni.

3. Atur dapurmu

Tambahkan strip selotip pada wadah barang kering, kemudian gunakan pensil atau spidol yang dapat dihapus untuk menulis isi wadah atau tanggal pembeliannya.

4. Laminasi kartu pantai

Gunakan selotip tahan air untuk menutupi kedua sisi kartu pantai, izin memancing atau kartu parkir sehingga semua itu akan awet pada musim panas.

5. Selesaikan perselisihan dalam beberapa olahraga

Untuk menghindari perseteruan, tandai titik three-point lapangan basketmu atau gawang hoki jalanan.

TRIVIA

"Duck" atau "duct"?

Duct tape atau selotip, awalnya dibuat oleh Angkatan Darat A.S dengan sebuah alas cotton duck (biasa dikenal dengan kanvas) berwarna hijau. Ketika para prajurit membawa plester pulang dan memakainya untuk membetulkan perangkat seperti menghubungkan saluran (duct) pemanas, maka selotip dibuat dengan warna perak sehingga disebut duct tape.

Plester itu penyelamat!

Kreasi Selotip/Pita Perekat - Para astronot Apollo 13 menggunakan selotip untuk membentuk saringan karbon dioksida berbentuk persegi dari modul komando mereka yang rusak menjadi wadah berbentuk bulat dalam modul bulan, sehingga tersedia cukup oksigen untuk perjalanan hingga sampai ke bumi. Itu berhasil!
Readmore

Tuesday, 15 May 2012

Basis Data : Tugas Basis Data



















Basis Data - Tugas Basis Data
1. Nyatakan perintah SQL untuk membuat table dan mapping table studi kasus yang kemarin.
2. Nyatakan perintah SQL untuk mengisi table.
3. Nyatakan perintah SQL untuk menampilkan struktur table.
4. Nyatakan perintah SQL untuk manampilkan semua isi table.
5. Gunakan order by.
6. Gunakan limit dan offset.
7. Gunakan where.
8. Gunakan like.
*)tugas dikumpulkan dengan print screen mySQL.
Readmore

Friday, 11 May 2012

ERD Sistem Sekolah

ERD Sistem Sekolah - Berikut ini adalah ERD untuk praktikum Basis Data :


Untuk melihat gambar secara penuh klik disini!
Readmore

Thursday, 10 May 2012

[Konkurensi adalah] Pengertian Konkurensi


Konkurensi adalah - Setelah bertemu dengan mata kuliah Sistem Operasi, saya baru tahu apa itu konkurensi. Banyak hal yang dibahas pada materi konkurensi. Konkurensi perlu dihindari karena bukan suatu hal yang baik untuk PC atau komputer kita.

Konkurensi adalah proses-proses (lebih dari satu proses) yang terjadi pada saat bersamaan. Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama. Pada proses-proses konkuren yang berinteraksi mempunyai beberapa masalah yang harus diselesaikan:
1.    Mutual Exclusion
2.    Sinkronisasi
3.    Deadlock
4.    Startvation

A.    Prinsip-prinsip Konkurensi
Konkurensi meliputi hal-hal sbb:
•    Alokasi waktu pemroses untuk proses-proses
•    Pemakaian bersama dan persaingan untuk mendapatkan sumber daya
•    Komunikasi antarproses
•    Sinkronisasi aktivitas banyak proses.

Konkurensi dapat muncul pada konteks berbeda, antara lain:
1.    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.
2.    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.
3.    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.
4.    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.

B.    Interaksi Antar Proses. 
Pada sistem dengan banyak proses (kongkuren), terdapat 2 katagori interaksi, yaitu:
1.    Proses-proses Saling Tidak Peduli (Independen).
Proses-proses ini tidak dimaksudkan untuk bekerja untukmencapai tujuan tertentu. Pada multiprogramming dengan proses-proses independen, dapat berupa batch atau sesi interaktif, atau campuran keduanya.
2.    Proses-proses Saling Mempedulikan Secara Tidak Langsung.
Proses-proses tidak perlu saling mempedulikan identitas proses-proses lain, tapi sama-sama mengakses objek tertentu, seperti buffer masukan/keluaran. Proses-proses itu perlu bekerja sama (cooperation) dalam memakai bersama objek tertentu.

C.    Kesulitan-kesulitan yang ditimbulkan konkurensi
Masalah yang dihadapi proses-proses kongkurensi pada multiprogramming dan multiprocessing serupa, yaitu: kecepatan eksekusi proses-proses di sistem tidak dapat diprediksi. Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti:
1.    Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain:
a)    Aktivitas proses-proses lain
b)    Cara sistem operasi menangani interupsi
c)    Kebijaksanaan penjadwalan yang dilakukan oleh sistem operasi.

2.    Beberapa kesulitan yang dapat muncul, di antaranya adalah:
a)    Pemakaian bersama sumber daya global.
Jika dua proses menggunakan variabel global yang sama, serta keduanya membaca dan menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap variabel itu menjadi kritis.
b)    Pengelolaan alokasi sumber daya agar optimal
Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi kemudian proses A di suspend sebelum menggunakan kanal itu. Jika sistem operasi mengunci kanal tersebut dan orang lain tidak dapat menggunakannya, maka akan terjadi inefisiensi.
c)    Pencarian kesalahan pemrograman.
Pencarian kesalahan pada pemrograman kongkuren lebih sulit dibanding pencarian kesalahan pada program-program sekuen.

3.    Proses-proses konkuren mengharuskan beberapa hal yang harus ditangani, antara lain:
a)    Sistem operasi harus mengetahui proses-proses yang aktif
b)    Sistem operasi harus mengalokasikan dan mendealokasikan beragam sumber daya untuk tiap proses aktif. Sumber daya yang harus dikelola, antara lain:
         (1)    Waktu pemroses.
         (2)    Memori
         (3)    Berkas-berkas
         (4)    Perangkat I/O
c)    Sistem operasi harus memproteksi data dan sumber daya fisik masing-masing proses dari gangguan proses-proses lain.
d)    Hasil-hasil proses harus independen terhadap kecepatan relatif proses-proses lain dimana eksekusi dilakukan.

D.    Pokok Penyelesaian Masalah Kongkurensi
Pada dasarnya penyelesaian masalah kongkurensi terbagi menjadi 2, yaitu:
1. Mengasumsikan adanya memori yang digunakan bersama
2. Tidak mengasumsikan adanya memori yang digunakan bersama.
Adanya memori bersama lebih memudahkan penyelesaian masalah kongkurensi. Metode memori bersama dapat dipakai untuk singleprocessor ataupun multiprocessor yang mempunyai memori bersama. Penyelesaian ini tidak dapat digunakan untuk multiprocessor tanpa memori bersama atau untuk sistem tersebar.

Demikaian materi yang bisa saya bagi buat teman - teman semoga bisa menjadi referensi yang baik.
Readmore

Transformasi Geometri Adalah

Transformasi Geometri adalah - Pada mata pelajaran SMP atau SMA ada masalah tentang Transformasi Geometri. Jangan salah, ternyata Transformasi Geometri dibawa sampai bangku kuliah. Saya menemukannya pada kuliah Grafika Konputer di Universitas Ahmad Dahlan. Tidak usah panjang lebar, karena panjang adalah mulutnya.... dan lebar adalah mukanya..... Hehehehehehe......

Transformasi geometri adalah perubahan satu atau lebih titik pada suatu bidang. Perubahan tersebut dapat berupa :
1. Translasi - Pergeseran
2. Rotasi - Perputaran
3. Refleksi - Pencerminan
4. Dilatasi – Perbesaran

1. Pergeseran (Translasi)
Perpindahan titik-titik pada bidang dengan jarak dan arah tertentu yang diwakili oleh ruas garis berarah (vector).

2. Perputaran (Rotasi)
Transformasi yang memindahkan titik-titik dengan memutar titik-titik tersebut sejauh θ terhadap suatu titik pusat rotasi. Suatu rotasi dengan pusat P dan sudut rotasi θ dinotasikan dengan R (P, θ ).

3. Pencerminan (Refleksi)
Transformasi yang memindahkan titik-titik dengan menggunakan sifat bayangan oleh suatu cermin.

4. Perbesaran (Dilatasi)
Transformasi yang mengubah jarak titik-titik dengan factor pengali tertentu terhadap suatu titik tertentu. Perkalian atau dilatasi ini ditentukan oleh factor skala (k) dan pusat dilatasi.
Readmore

Wednesday, 9 May 2012

Syntax DDL SQL Untuk MySQL















DDL ( Data Definition Language) pada SQL, digunakan untuk mendefinisi informasi data pada database, adapun syntax dari SQL:

1. Create DataBase ( untuk membuat database)
Syntax :
CREATE DATABASE database_name
contoh :
Create Database TokoBuku

2. Create Table (untuk membuat tabel)
Syntax :
CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
….)
contoh :
Create table Buku
(
Id_Buku int, Judul varchar(225), Pengarang varchar (50),PRIMARY KEY (Id_Buku)
)

3. Alter Table (untuk menambah/memodifikasi field dalam tabel)
Syntax :
ALTER TABLE table_name ADD column_name datatype
contoh:
Alter table Buku add TanggalBuku date

4. Drop Table (untuk menghapus tabel)
Syntax :
DROP TABLE table_name
contoh:
Drop table Buku

5. Drop Database (untuk menghapus database)
Syntax :
Drop Database  Database_Name
contoh:
Drop Database TokoBuku

6. Truncate Table (menghapus isi dari table tanpa menghapus tabel itu sendiri)
Syntax :
TRUNCATE TABLE table_name
contoh:
Truncate table Buku

7. Create Index (untuk membuat index)
Syntax :
CREATE INDEX index_name ON table_name (column_name)
contoh:
Create IndexP on Buku (Judul)

8. Drop Index (untuk menghapus index)
Syntax :
DROP INDEX table_name.index_name
contoh:
Drop Index buku.indexp

Semoga bermanfaat untuk kita semua :D
Readmore

Algoritma Kruskal : Minimum Spanning Tree C Programming




















#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define maxVertices 1000
#define maxEdges 1000000
int graph[maxVertices][maxVertices];
/* Input graph must be undirected,weighted and connected*/
typedef struct Edge
{
       
int from,to,weight;
}Edge;
int compare(const void * x,const void * y)
{
       
return (*(Edge *)x).weight - (*(Edge *)y).weight;
}
Edge E[maxEdges];
int parent[maxVertices];
void init(int vertices)
{
       
int iter=0;
       
for(iter=0;iter<vertices;iter++)
       
{
                parent
[iter]=-1;
       
}

}
int Find(int vertex)
{
       
if(parent[vertex]==-1)return vertex;
       
return parent[vertex] = Find(parent[vertex]); /* Finding its parent as well as updating the parent
                                                         of all vertices along this path */

}
int Union(int parent1,int parent2)
{
       
/* This can be implemented in many other ways. This is one of them */
        parent
[parent1] = parent2;
}
void Kruskal(int vertices,int edges)
{
        memset
(graph,-1,sizeof(graph)); /* -1 represents the absence of edge between them */
       
/* Sort the edges according to the weight */
        qsort
(E,edges,sizeof(Edge),compare);
       
/* Initialize parents of all vertices to be -1.*/
        init
(vertices);
       
int totalEdges = 0,edgePos=0,from,to,weight;
       
Edge now;
       
while(totalEdges < vertices -1)
       
{
               
if(edgePos==edges)
               
{
                       
/* Input Graph is not connected*/
                        exit
(0);
               
}
                now
= E[edgePos++];
                from
= now.from;
                to
= now.to;
                weight
=now.weight;
               
/* See If vetices from,to are connected. If they are connected do not add this edge. */
               
int parent1 = Find(from);
               
int parent2 = Find(to);
               
if(parent1!=parent2)
               
{
                        graph
[from][to] = weight;
                       
Union(parent1,parent2);
                        totalEdges
++;
               
}
       
}

}
int main()
{
       
int vertices,edges;
        scanf
("%d%d",&vertices,&edges);
       
int iter,jter;
       
int from,to,weight;
       
for(iter=0;iter<edges;iter++)
       
{
                scanf
("%d%d%d",&from,&to,&weight);
                E
[iter].from = from;
                E
[iter].to = to;
                E
[iter].weight = weight;
       
}
       
/* Finding MST */
       
Kruskal(vertices,edges);
       
/* Printing the MST */
       
for(iter=0;iter<vertices;iter++)
       
{
               
for(jter=0;jter<vertices;jter++)
               
{
                       
if(graph[iter][jter]!=-1)
                       
{
                                printf
("Vertex %d and %d, weight %d\n",iter,jter,graph[iter][jter]);
                       
}
               
}
       
}
       
return 0;
}

Readmore

Monday, 7 May 2012

Konkurensi : Masalah Terjadi Ketika Konkurensi
















Masalah – masalah yang terjadi ketika konkurensi
1. Mutual Exclusion
Mutual exclusion adalah jaminan hanya satu proses yang mengakses sumber daya pada suatu interval waktu tertentu. Proses-proses yang lain dilarang mengerjakan hal yang sama. Bagian program yang sedang mengakses memori atau sumber daya yang dipakai bersama disebut Critical Section/Region. Mutual Exclusion merupakan jaminan untuk mengatasi kondisi pacu agar tidak boleh 2 proses atau lebih memasuki Critical Section secara bersamaan. Kesuksesan proses- proses kongkuren memerlukan pendefinisian Critical Section dan memaksakan Mutual Exclusion di antara proses-proses kongkuren yang sedang berjalan. Pemaksaan Mutual Exclusion merupakan landasan pemrosesan kongkuren.
Contoh Mutual Exclusion :

Apabila kita sedang membuka Mozilla Firefox dan Google Chrome, Mozilla Firefox sedang menggunakan daya baterai untuk melakukan eksekusi maka Google Chrome tidak diizinkan untuk menggunakan daya baterai untuk melakukan eksekusi.

2. Deadlock
Deadlock adalah suatu kondisi dimana dua proses atau lebih saling menunggu proses yang lain untuk melepaskan resource yang sedang dipakai. Karena beberapa proses itu saling menunggu, maka tidak terjadi kemajuan dalam kerja proses-proses tersebut. Deadlock adalah masalah yang biasa terjadi ketika banyak proses yang membagi sebuah resource yang hanya boleh dirubah oleh satu proses saja dalam satu waktu. Misal ada proses A mempunyai resource X, proses B mempunyai resource Y. Kemudian kedua proses ini dijalankan bersama, proses A memerlukan resource Y dan proses B memerlukan resource X, tetapi kedua proses tidak akan memberikan resource yang dimiliki sebelum proses dirinya sendiri selesai dilakukan. Sehingga akan terjadi tunggu-menunggu.
Contoh Deadlock :
Misalkan kita sedang membuka Mozilla Firefox dan Google Chrome secara bersama, pada saat tertentu Mozilla Firefox dan Google Chrome saling membutuhkan resource yang lain, yaitu Mozilla Firefox membutuhkan resource Google Chrome dan Google Chrome membutuhkan resource Mozilla Firefox. Tetapi kedua aplikasi tidak mau saling melepaskan resource, sehingga kedua aplikasi tidak akan berjalan.

3. Starvation
Starvation adalah kondisi yang biasanya terjadi setelah deadlock. Proses yang kekurangan resource (karena tidak deadlock) tidak akan pernah mendapat resource yang dibutuhkan sehingga mengalami starvation (kelaparan). Namun, starvation juga bisa terjadi tanpa deadlock. Hal ini ketika terdapat kesalahan dalam sistem sehingga terjadi ketimpangan dalam pembagian resouce. Satu proses selalu mendapat resource, sedangkan proses yang lain tidak pernah mendapatkannya.
Contoh Starvation :
Sambil menunggu kita membuka Google Chrome, kita membuka Mozilla Firefox, tetapi Mozilla Firefox tidak mendapatkan jatah resource karena telah dipakai oleh Google Chrome. Sehingga Mozilla Firefox tidak berjalan.

4. Sinkronisasi
Sinkrinisasi adalah proses pengaturan jalannya beberapa proses pada saat yang bersamaan. Tujuan utama sinkronisasi adalah menghindari terjadinya inkonsistensi 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 atau starvation.
Contoh Sinkronisasi :
Mozilla Firefox dan Google Chrome saling berlomba meng-update nilai counter sehingga pada suatu waktu, nilai counter-nya bisa salah.

Jangan lupa juga untuk melihat kapan terjadinya konkurensi.
Readmore

Konkurensi : Kapan Terjaninya Konkurensi
















Kapan Terjaninya Konkurensi
Konkurensi terjadi pada beberapa kondisi seperti :
1. 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.
2. 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.
3. 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.
4. 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.

Jangan lupa juga untuk mengunjungi tentang masalah yang terjadi ketika konkurensi dan contoh.
Readmore

Catatan Harian si Boy ©Template Blogger Green by Dicas Blogger.

To Up