Thursday, November 17, 2011

RUANG ALAMAT LOGIKA DAN RUANG ALAMAT FISIK

RUANG ALAMAT LOGIKA DAN RUANG ALAMAT FISIK

Alamat yang dibangkitkan oleh CPU disebut alamat logika (logical address)
dimana alamat terlihat sebagai uni memory yang disebut alamat fisik (physical address).
Tujuan utama manajemen memori adalah konsep meletakkan ruang alamat logika ke
ruang alamat fisik. Hasil skema waktu kompilasi dan waktu pengikatan alamat pada
alamat logika dan alamat memori adalah sama. Tetapi hasil skema waktu pengikatan
alamat waktu eksekusi berbeda. dalam hal ini, alamat logika disebut dengan alamat maya
(virtual address). Himpunan dari semua alamat logika yang dibangkitkan oleh program
disebut dengan ruang alamat logika (logical address space); himpunan dari semua alamat fisik
yang berhubungan dengan alamat logika disebut dengan ruang alamat fisik (physical
address space).

Memory Manajement Unit (MMU) adalah perangkat keras yang memetakan
alamat virtual ke alamat fisik. Pada skema MMU, nilai register relokasi ditambahkan ke
setiap alamat yang dibangkitkan oleh proses user pada waktu dikirim ke memori.

Register basis disebut register relokasi. Nilai dari register relokasi ditambahkan ke
setiap alamat yang dibangkitkan oleh proses user pada waktu dikirim ke memori.
sebagai contoh, apabila basis 14000, maka user mencoba menempatkan ke alamat lokasi
0 dan secara dinamis direlokasi ke lokasi 14000. Pengaksesan ke lokasi logika 346,
maka akan dipetakan ke lokasi 14346. Sistem operasi MS-DOS yang masih keluarga
intel 80X86 menggunakan empat register relokasi ketika proses loading dan running.
User program tidak pernah melihat alamat fisik secara real. Program dapat
membuat sebuah penunjuk ke lokasi 346, mengirimkan ke memory, memanipulasinya,
membandingkan dengan alamat lain, semua menggunakan alamat 346. Hanya ketika
digunakan sebagai alamat memory akan direlokasi secara relatif ke register basis.

Tuesday, November 15, 2011

Overlay

Overlay

Sebuah proses dapat lebih besar daripada jumlah memori yang dialokasikan
untuk proses, teknik overlay biasanya digunakan untuk kasus ini. Teknik Overlay
biasanya digunakan untuk memungkinkan sebuah proses mempunyai jumlah yang lebih
besar dari memori fisik daripada alokasi memori yang diperuntukkan. Ide dari overlay
adalah menyimpan di memori hanya instruksi dan data yang diperlukan pada satu
waktu. Jika intruksi lain diperlukan, maka instruksi tersebut diletakkan di ruang
memori menggantikan instruksi yang tidak digunakan lagi.
Sebagai contoh misalnya terdapat two-pass assembler. Selama pass 1, dibangun
table symbol, dan selama pass 2 dibangkitkan kode bahasa mesin. Kita dapat membagi
assembler ke dalam kode pass 1, kode pass 2, tabel symbol dan rutin umum yang
digunakan baik pada pass 1 maupun pass 2. Diasumsikan ukuran komponen sebagai
berikut :

     Pass 1 70K
     Pass 2 80K
     Tabel symbol 20K
     Rutin umum 30K

Apabila semua diletakkan di memori memerlukan 200K. Jika hanya tersedia tempat
150K, proses tidak dapat dijalankan. Pass 1 dan pass 2 tidak perlu berada di memori
pada waktu yang sama. Dengan menggunakan overlay, rutin dibagi dalam 2 overlay.
Overlay A adalah tabel symbol, rutin umum dan pass1 (membutuhkan total 120K) dan
overlay B terdiri dari tabel symbol, rutin umum dan pass 2 (membutuhkan 130K).
Ditambahkan 10K untuk driver overlay dan dimulai dari overlay A. Setelah selesai
dijalankan overlay B dengan mengganti tempat dari overlay A. Overlay tidak membutuhkan
dukungan khusus dari sistem operasi. User dapat mengimplementasikannya secara 
lengkap menggunakan struktur file sederhana, membaca dari file ke memori dan 
meloncat ke memori dan mengeksekusi instruksi read yang lebih baru. Sistem operasi 
memberitahu hanya jika terdapat I/O yang melebihi biasanya. Penggunaan overlay 
terbatas untuk beberapa sistem yang mempunyai jumlah memori fisik terbatas dan 
kekurangan dukungan H/W untuk teknik yang lebih lanjut.

Monday, November 14, 2011

Pengikatan Alamat (Address Binding) and Dinamic Loading

Pengikatan Alamat (Address Binding)

Pengikatan alamat adalah cara instruksi dan data (yang berada di disk sebagai file yang dapat dieksekusi) dipetakan ke alamat memori. Sebagian besar sistem memperbolehkan sebuah proses user (user process) untuk meletakkan di sembarang tempat dari memori fisik.  Sehingga, meskipun alamat dari komputer dimulai pada 00000, alamat pertama dari proses user tidak perlu harus dimulai 00000. Pada beberapa kasus, program user akan melalui beberapa langkah sebelum dieksekusi (Gambar 7-1). Alamat pada source program  umumnya merupakan alamat simbolik.  Sebuah compiler biasanya melakukan pengikatan alamat simbolik (symbolic address) ke alamat relokasi dipindah (relocatable address). Misalnya compiler mengikatkan alamat simbolik ke alamat relokasi “14 byte from the beginning of this module”.  Editor Linkage mengikatkan alamat relokasi ini ke alamat absolute (absolute addresses)  “74014”.
Instruksi pengikatan instruksi dan data ke alamat memori dapat dilakukan pada saat :
• Compile time : Jika lokasi memori diketahui sejak awal, kode absolut dapat dibangkitkan, apabila terjadi perubahan alamat awal harus dilakukan kompilasi ulang.  Misalnya : program format .com pada MS-DOS   adalah kode absolut yang diikat pada saat waktu kompilasi
• Load time : Harus membangkitkan kode relokasi jika lokasi memori tidak diketahui pada saat waktu kompilasi.
• Execution time : Pengikatan ditunda sampai waktu eksekusi jika proses dapat dipindahkan selama eksekusi dari satu segmen memori ke segmen memori lain. 
 
Dinamic Loading

Untuk memperoleh utilitas ruang memori, dapat menggunakan dynamic loading. Dengan dynamic loading, sebuah rutin tidak disimpan di memori sampai  dipanggil. Semua rutin disimpan pada disk dalam format relocatable load. Mekanisme dari dynamic loading adalah program utama di-load dahulu dan dieksekusi.  Bila suatu routine perlu memanggil routine lain, routine yang dipanggil lebih dahulu diperiksa apakah rutin yang dipanggil sudah di-load.  Jika tidak, relocatable linking loader dipanggil untuk me-load rutin yg diminta ke memori dan meng-ubah tabel alamat. Keuntungan dari dynamic loading adalah rutin yang tidak digunakan tidak pernah di-load.  Skema ini lebih berguna untuk kode dalam jumlah besar diperlukan untuk menangani kasus-kasus yang jarang terjadi seperti error routine. Dinamic loading tidak memerlukan dukungan khusus dari sistem operasi.  Sistem operasi hanya perlu menyediakan beberapa rutin pustaka untuk implementasi dynamic loading. Dinamic Linking sebagian besar sistem operasi hanya men-support static linking, dimana sistem library language diperlakukan seperti obyek modul yang lain dan dikombinasikan dengan loader ke dalam binary program image. Konsep dynamic linking sama dengan dynamic loading.  Pada saat loading, linking ditunda sampai waktu eksekusi.  Terdapat kode kecil yang disebut stub digunakan untuk meletakkan rutin library di memori dengan tepat.  Stub diisi dengan alamat rutin dan mengeksekusi rutin.  Sistem operasi perlu memeriksa apakah rutin berada di alamat memori. Dinamic linking biasanya digunakan dengan sistem library, seperti language subroutine library. Tanpa fasilitas ini, semua program pada sistem perlu mempunyai copy dari library language di dalam executable image. Kebutuhan ini menghabiskan baik ruang disk maupun memori utama. Bagaimanapun, tidak seperti dynamic loading, dynamic linking membutuhkan beberapa dukungan dari sistem operasi, misalnya bila proses-proses di memori utama saling diproteksi, maka sistem operasi melakukan pengecekan apakah rutin yang diminta berada diluar ruang alamat.  Beberapa proses diijinkan untuk mengakses memori pada alamat yang sama.  File dynamic linking berekstensi .dll, .sys atau .drv

Sunday, November 13, 2011

Design Grafis

DESIGN GRAFIS

Design Grafis adalah proses untuk menciptakan tampilan sebuah publikasi, presentasi, atau di situs web yang menarik, dengan cara logis. Ketika desain selesai maka: menarik perhatian, menambah nilai, dan meningkatkan minat audiens, simpel, terorganisir, memberikan penekanan selektif, dan menciptakan kesatuan yang utuh. Design grafis tidak bisa dipisahkan dari kehidupan sehari-hari. Hampir semua sektor kehidupan memerlukan seorang designer grafis, meskipun bukan profesional. Di dunia pendidikan, buku-buku yang dicetak dan dipelajari anak-anak, didesain sedemikian rupa oleh seorang desainer. Begitu pula dengan dunia bisnis, brosur,logo, kartu nama, dan Desain Website, termasuk kategori desain grafis.

Apa saja yang dibutuhkan untuk menjadi seorang designer grafis? Untuk yang ingin menjadi profesional, tentunya harus sekolah atau Pendidikan Desain grafis. Selain praktek, teori yang dipelajari juga akan membuat seorang desainer mampu memberikan hasil yang terbaik. Belajar secara otodidak juga dimungkinkan dengan banyaknya tutorial desain grafis yang dapat dipelajari secara gratis.
Ilmu Grafis Design Komvis Kontribusi Warna Bagi Kehidupan dan Karya Desain Komunikasi Visual mengupas penggunaan Warna sebagai intisari objek dalam berinteraksidengan dunia. Warna juga digunakan sebagai simbolisme karena mempunyai kiasan dan nilai filosofis. Memahami warna akan menguatkan makna dalam penggunaan karya design.

Tujuan design web adalah untuk membuat situs web atau dokumen elektronik dan aplikasi yang berada pada web server dan menampilkan konten dan fitur antarmuka interaktif kepada pengguna akhir dalam bentuk halaman Web. Seperti unsur-unsur teks, gambar (gif, jpeg) untuk ditempatkan pada halaman menggunakan HTML / XHTML / tag XML. Design web juga dapat membantu kita untuk memasarkan produk dagang kita agar para konsumen mengetahui barang yang kita pasarkan, untuk Perusahaan pun sangat berguna karena dengan ini Perusahaan mereka dapat berkembang pesatDesign grafis tidak terbatas pada web design saja tetapi banyak berguna untuk Logo perusahaan anda, Brosur-brosur dan Mengenalkan atau Memasarkan barang yang akan anda jual ke Pasaran. Design grafis membuat semua itu menjadi lebih menarik dan eye catching untuk dilihat oleh orang lain, karena hal ini dapat membuat orang lain penasaran akan sesuatu yang kita beri sentuhan design grafis.

Sunday, November 6, 2011

JOIN DALAM MYSQL

JOIN DALAM MYSQL

JOIN dalam mysql adalah Salah satu fitur SQL yang paling berguna untuk menggabungkan table dengan query – query yang mendapatkan kembali data. Join adalah salah satu dari beberapa operasi paling penting yang dapat anda lakukan dengan menggunakan statement SELECT .

A . INNER JOIN adalah Join yang menciptakan table hasil baru dengan menggabungkan nilai nilai kolom dari dua table ( A dan B ) didasarkan pada join predikat

CONTOH : SELECT supplier.Nama, Barang.Nama, Barang.Harga
FROM supplier INNER JOIN Barang
ON supplier.KodeSup = Barang.KodeSup

B. SELF JOIN adalah Join yang bergabung dengan sebuah table ke dirinya sendiri .
CONTOH : SELECT c1.KodeCus, c1.Nama, c1.Kontak
FROM Customer c1, Customer c2
WHERE c1.Nama = c2.Nama
AND c2.Kontak='Jim Jones'

OUTPUT
KodeCus Nama Kontak
------- ---- ------
1000000003 Fun4All Jim Jones
1000000004 Fun4All Denise L. Stephens


C. NATURAL JOIN adalah Join yang dimana dilakukan dengan menggunakan wildcard ( SELECT * ) untuk suatu table dan sub-kumpulan eksplit dan field untuk semua table lainya.

CONTOH : SELECT Customer.KodeCus, Penjualan.NoFaktur
FROM Customer INNER JOIN Penjualan
ON Customer.KodeCus = Penjualan.KodeCus

Untuk
mendapatkan kembali daftar semua pelanggan, termasuk pelanggan yang
tidak membuat pesanan, Anda dapat melakukan hal berikut :

INPUT
SELECT Customer.KodeCus, Penjualan.NoFaktur
FROM Customer LEFT OUTER JOIN Penjualan
ON Customer.KodeCus = Penjualan.KodeCus

OUTPUT
KodeCus NoFaktur
------- --------
1000000001 20005
1000000001 20009
1000000002 NULL
1000000003 20006
1000000004 20007
1000000005 20008


D. OUTER JOIN adalah sebuah join yang tidak memerlukan setiap record dalam dua table bergabung untuk memiliki catatan cocok . table bergabung dengan mempertahankan setiap catatan – bahkan jika tidak ada catatan yang cocok lainya ada. Luar bergabung membagi lebih lanjut lebih ke kiri luar bergabung , kanan luar bergabung , dan penuh luar bergabung , tergantung pada table (s) mempertahankan satu baris dari ( kiri, kanan atau keduanya )

CONTOH :

INPUT
SELECT Customer.KodeCus, Penjualan.NoFaktur
FROM Customer INNER JOIN Penjualan
ON Customer.KodeCus = Penjualan.KodeCus

Saturday, November 5, 2011

CLASS DIAGRAM

CLASS DIAGRAM

Class diagram merupakan diagram yang selalu ada di permodelan sistem berorientasi objek.
Class diagram menunjukkan hubungan antar class dalam sistem yang sedang dibangun dan bagaimana
mereka saling berkolaborasi untuk mencapai suatu tujuan.Diagram kelas adalah diagram UML yang menggambarkan kelas-kelas dalam sebuah sistem dan hubungannya antara satu dengan yang lain, serta dimasukkan pula atribut dan operasi.
Class Diagram adalah suatu diagram yang memperlihatkan atau menampilkan struktur dari sebuah sistem,sistem tersebut akan menampilkan system kelas,atribut dan hubungan antara kelas ketika suatu sistem telah selesai membuat diagram.

Objek diagram adalah suatu diagram yang berfungsi untuk mengatur atribut,objek dan
hubungan antara contoh dalam diagram,ojek diagram juga dapat menampilkan struktur model system
dalam waktu tertentu.

• Class : Class adalah blok - blok pembangun pada pemrograman berorientasi obyek.
Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian
nama dari class. Bagian tengah mendefinisikan property/atribut class. Bagian akhir mendefinisikan
methodmethod dari sebuah class
• Association : Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 class dan
dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. Garis ini bisa melambangkan
tipe-tipe relationship dan juga dapat menampilkan hukum-hukum multiplisitas pada sebuah relationship.
(Contoh: One-to-one, one-to-many, many-to-many).
• Composition : Jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari
class yang lain, maka class tersebut memiliki relasi Composition terhadap class tempat dia
bergantung tersebut. Sebuah relationship composition digambarkan sebagai garis dengan ujung
berbentuk jajaran genjang berisi/solid.
• Dependency : Kadangkala sebuah class menggunakan class yang lain. Hal ini disebut dependency.
Umumnya penggunaan dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain. Sebuah dependency dilambangkan sebagai sebuah panah bertitik-titik.