Swiss Roll Cake




Ingredients:
125 gram fresh butter
100 ml mineral water
50 ml vegetables oil
100 gram white sugar
200 gram wheat flour
8 pcs eggs
1 teaspoon salt
1 teaspoon baking powder
2 gram cream of tar tar
Strawberry jam (or other filling)

Cooking Method:
1. Separated egg yolk and albumen
2. Placed egg yolk and sugar on the bowl and mixed well
3. Add mineral water, vegetables oil, fresh butter and wheat flour little by little and slowly. Removed
4. On other bowl, mixed albumen and sugar till fluffy and light
5. Mixed with other batter. Mixed well
6. Pour to the cake brass sized 25 x 30 cm
7. Oven for about 45 menit till the top lightly browned
8. Take it from the oven and let it cool for an hour
9. Apply strawberry jam (or other filling) on the top cake
10. Rolled the cake slowly and served


Sumber : http://letiscooking.blogspot.com
[Read More...]


West Javanese Sayur Asem




Ingredients:
2 pcs sweet corn
100 gr melinjo fruit
100 gr long bean
200 gr young jackfruit. Cut 1 inch thick wash.
2 pcs chayote squash diced

Flavours:
5 pcs red chilli, thinly sliced
10 pcs shallots
1/2 teaspoon shrimp pasta
100 gr raw peanuts
2 pcs bay leaves
1 pc galangal
1 tablespoon palm sugar
1 teaspoon salt
2 tablespoon tamarind, soaked in 1/2 cup warm water, squeezed and strained to obtain juice

Cooking Method:
  1. Put sweet corn, raw peanuts, young jackfruit, chayote squash and melinjo fruit in a small saucepan with water to cover. Bring to the boil, reduce heat, and simmer 10 minutes.
  2. Blend garlics, shallot and shrimp pasta. Add to the boiled water.
  3. Seasoning with salt, palm sugar, tamarind juiced.
  4. Add red chilli, galangal and bay leaves
  5. Stirred and cooked well.
  6. Served hot


Sumber : http://letiscooking.blogspot.com
[Read More...]


Exotic Refreshing Crepes With Ice Cream




Crepes Ingredients:
250 ml fresh milk
2 pcs eggs
3 tablespoons salad oil
2 tablespoons flour
1 tablespoon milk powder
1/4 teaspoon vanilla essence
1 teaspoon soft sugar
Content:
a tablespoon butter
200 gr green apple (small diced)
50 gr kismis
50 gr palm sugar
1 teaspoon cinnamon powder
1 tablespoon lemon juiced
Sauce:
1 tablespoon mentega
100 ml sunkist orange juiced
1 tablespoon soft sugar
1 teaspoon maizena (add into 1 tablespoon water)

Cooking Method:

*Crepes
1.Mix eggs, salad oil, fresh milk and sugar in the mixing bowl
2. Add flour along with milk powder and essence vanilla. Mixed the batter.
3. Heat tevlon (frypan) and spoon 1 spoontable batter, lift and tilt to spread evenly.
4. Return to heat, brown on one side only.
4. Repeat till all batter finish. Removed

*Filling
1. Heat the frypan and add the butter
2. Add the green apple (small diced) along with kismis, palm sugar and cinnamon powder
3. Cooked well and pour sunkist orange juice. Removed

* Sauce:
1. Boil all the ingredients
2. Add the butter and mixed well. Removed

Serve:
1. Fill each crepes with mixture filling
2. Fold the edges to make a rectangle shaped
3. Pour the orange sauce on the top of crepes and garnish with vanilla ice cream.


Sumber : http://letiscooking.blogspot.com
[Read More...]


Flavour Gurami Roasted



Ingredients:
1 pc fresh gurami fish
8 pcs shallots
6 pecans
1 knuckle galangale
1 pc lemongrass
2 knuckles turmerics
1 knuckle ginger
1 glass coconut milk
1/2 teaspoon pepper
1 pc lime leaf
10 pc red chilli peppers
1 teaspoon tamarind
1 teaspoon salt
1/2 teaspoon sugar
1 teaspoon butter

Cooking Method:
1. Pound shallot, pecan, galange, ginger, pepper, chilli pepper, tamarind and salt
2. Sauted till fragrance
3. Add coconut milk, lime leaf, lemongrass and stirred well.
4. Seasoning with salt and sugar. Stirred and removed
5. Rub gurami fish with butter and sauted ingredients
6. Roasted till browned
7. Served with hot rice, chilli sauce, basil leaves and cucumber


Sumber : http://letiscooking.blogspot.com 
[Read More...]


Mango Ice




Ingredients:
1 pc unripe mango
1 teaspoon sugar
2 tablespoon sugar syrup
1 glass dry ice

Preparations:
1. Peel and rasped unripe mango
2. Mix with sugar
3. Pour sugar syrup to the glass
4. Add dry ice and rasped mango
5. Garnish with mint leave and served


Sumber : http://letiscooking.blogspot.com 
[Read More...]


Bolu Kemojo




Ingredients:
250 gram wheat flour
4 pcs eggs
400 gram white sugar
100 ml pandanese water
400 ml coconut milk

Cooking Method:
1. Placed eggs and white sugar on the bowl
2. Mixed well untill light and fluffy
3. Add coconut milk and wheat flour slowly. Mixed well by hand
4. Pour pandanese water slowly
5. Place batter on the muffin tray and oven for about 40 menit till the top lightly greened



Sumber : http://letiscooking.blogspot.com
[Read More...]


Memori dan Virtual Memori



4.1. Latar Belakang

Memori merupakan inti dari sistem komputer modern. CPU mengambil instruksi dari memori sesuai yang ada pada program counter. Instruksi dapat berupa menempatkan/ menyimpan dari/ ke alamat di memori, penambahan, dan sebagainya. Dalam managemen memori ini, kita akan membahas bagaimana urutan alamat memori yang dibuat oleh program yang berjalan.

4.1.1. Pengikatan Alamat

Dalam banyak kasus, program akan berada dalam beberapa tahapan sebelum dieksekusi. Alamat-alamat yang dbutuhkan mungkin saja direpresentasikan dalam cara yang berbeda dalam tahapan-tahapan ini. Alamat dalam kode program masih berupa simbolik. Alamat ini akan diikat oleh kompilator ke alamat memori yang dapat diakses (misalkan 14 byte, mulai dari sebuah modul). Kemudian linkage editor dan loader, akan mengikat alamat fisiknya (misalkan 17014). Setiap pengikatan akan memetakan suatu ruang alamat ke lainnya.

Secara klasik, instruksi pengikatan dan data ke alamat memori dapat dilakukan dalam beberapa tahap:
  • waktu compile: jika diketahui pada waktu compile, dimana proses ditempatkan di memori. Untuk kemudian kode absolutnya dapat di buat. Jika keumdian amat awalnya berubah, maka harus di compile ulang.
  • waktu penempatan: Jika tidak diketahui dimana poses ditempatkan di memori, maka kompilator harus mmbuagt kode yang dapat dialokasikan. Dalam kasus pengikatan akan ditunda sampai waktu penempatan. Jika alamat awalnya berubah, kita hanya perlu menempatkan ulang kode, untuk menyesuaikan dengan perubahan.
  • waktu eksekusi: Jika proses dapat dipindahkan dari suatu segmen memori ke lainnya selama dieksekusi. Pengikatan akan ditunda sampai run-time.
4.1.2. Ruang Alamat Fisik dan Logik

Alamat yang dibuat CPU akan merujuk ke sebuah alamat logik. Sedangkan alamat yang dilihat oleh memori adalah alamat yang dimasukkan ke register di memori, merujuk pada alamat fisik pada pengikatan alamat, waktu compile dan waktu penempatan mnghasilkan daerah dimana alamat logik dan alamat fisik sama. Sedangkan pada waktu eksekusi menghasilkan alamat fisik dan logik yang berbeda.

Kita biasanya menyebut alamat logik dengan alamat virtual. Kumpulan alamat logik yang dibuat oleh program adalah ruag alamat logik. Kumpulan alamat fisik yang berkoresponddensi dengan alamat logik sibut ruang alamat fisik. Pemetaan dari virtual ke alamat fisik dialkukan oleh Memory-Management Unit (MMU), yang merupakan sebuah perangkat keras.

Register utamanya disebut relocation-register. Nilai pada relocation register bertambah setiap alamat dibuat oleh proses pengguna, pada waktu yang sama alamat ini dikirim ke memori. Program pengguna  tidak dapat langsung mengakses memori. Ketika ada program yang menunjuk ke alamat memori, kemudian mengoperasikannya, dan menaruh lagi di memori, akan di lokasikan awal oleh MMU, karena program pengguna hanya bernterkasi dengan alamat logik.

Konsep untuk memisahkan ruang alamat logik dan ruang alamat fisik, adalah inti dari managemen memori yang baik.

4.1.3. Penempatan Dinamis

Telah kita ketahui seluruh proses dan data berada memori fisik ketika di eksekusi. Ukuran dari memori fisik terbatas. Untuk mendapatkan utilisasi ruang memori yang baik, kita melakukan penempatan dinamis. Dengan penempatan dinamis, sebuah rutin tidak akan ditempatkan sampai dipanggil. Semua rutin diletakan di disk, dalam format yang dapat di lokasikan ulang. Program utama di tempatkan di memori dan dieksekusi. Jika sebuah rutin memanggil rutin lainnya, maka akan di cek dulu apakah rutin yang dipanggil ada di dalam memori atau tidak, jika tidak ada maka linkage loader dipanggil untuk menempatkan rutin yang diinginkan ke memori dan memperbaharui tabel alamat program untuk menyesuaikan perubahan. Kemudian kontrol diletakan pada rutin yang baru ditempatkan.

Keuntungan dari penempatan dinamis adalah rutin yang tidak digunakan tidak pernah ditempatkan. Metode ini berguna untuk kode dalam jumlah banyak, ketika muncul kasus-kasus yang tidak lazim, seperti rutin yang salah. Dalam kode yag besar, walau pun ukuran kode besar, tapi yang ditempatkan dapat jauh lebih kecil.

Penempatan Dinamis tidak didukung oleh sistem operasi. Ini adalah tanggung-jawab para pengguna untuk merancang program yang mengambil keuntungan dari metode ini. Sistem Operasi dapat membantu pembuat program dengan menyediakan libary rutin untuk mengimplementasi penempatan dinamis.

4.1.4. Perhubungan Dinamis dan Berbagi Library

Pada proses dengan banyak langkah, ditemukan juga perhubungan-perhubungan library yang dinamis. Beberapa sistem operasi hanya mendukung perhubungan yang dinamis, dimana sistem bahasa library diperlakukan seperti objek modul yang lain, dan disatukan oleh pemuat kedalam tampilan program biner.

Konsep perhubungan dinamis, serupa dengan konsep penempatan dinamis. Penempatan lebih banyak ditunda selama waktu eksekusi, dari pada lama penundaan oleh perhubungan dinamis. Keistimewaan ini biasanya digunakan dalam library sistem, seperti library bahasa sub-rutin. Tanpa fasilitas ini, semua program dalam sebuah sistem, harus mempunyai kopi dari libary bahasa mereka (atau setidaknya referensi rutin oleh program) termasuk dalam tampilan yang dapat dieksekusi. Kebutuhan ini sangat boros baik untuk disk, mau pun memori utama. Dengan penempatan dinamis, sebuah potongan dimasukkan kedalam tampilan untuk setiap rujukan library subrutin. Potongan ini adalah sebuah bagian kecil dari kode yang menunjukan bagaimana mealokasikan libary rutin di memori denga tepat, atau bagaimana menempatkan library jika rutin belum ada.

Ketika potongan ini dieksekusi, dia akan memeriksa dan melihat apakah rutin yang dibutuhkan sudah ada di memory. Jika rutin yang dibutuhkan tidak ada di memori, program akan menempatkannya ke memori. Jika rutin yang dibutuhkan ada dimemori, maka potongan akan mengganti dirinya dengan alamat dari rutin, dan mengeksekusi rutin. Demikianlah, berikutnya ketika segmentasi kode dicapai, rutin library dieksekusi secara langsung, dengan begini tidak ada biaya untuk penghubungan dinamis. Dalam skema ini semua proses yang menggunakan sebuah library bahasa, mengeksekusi hanya satu dari kopi kode library.

Fasilitas ini dapat diperluas menjadi pembaharuan library (seperti perbaikan bugs). Sebuah libary dapat ditempatkan lagi dengan versi yang lebih baru dan semua program yang merujuk ke library akan secara otomatis menggunakan versi yang baru. Tanpa penempatan dinamis, semua program akan akan membutuhkan penempatan kembali, untuk dapat mengakses library yang baru. Jadi semua program tidak secara sengaja mengeksekusi yang baru, perubahan versi library, informasi versi dapat dimasukkan kedalam memori, dan setiap program menggunakan informasi versi untuk memutuskan versi mana yang akan digunakan dari kopi library. Sedikit perubahan akan tetap meggunakan nomor versi yang sama, sedangkan perubhan besar akan menambah satu versi seblumnya. Karenanya program yang dikompile dengan versi yang baru akan dipengaruhi dengan perubahan yang terdapat di dalamnya. Program lain yang berhubungan sebelum library baru diinstal, akan terus menggunakan library lama. Sistem ini juga dikenal sebagai berbagi library.

4.1.5. Lapisan Atas

Karena proses dapat lebih besar daripada memori yang dialokasikan, kita gunakan lapisan atas. Idenya untuk menjaga agar di dalam memori berisi hanya instruksi dan data yang dibutuhkan dalam satuan waktu. Ketika instruksi lain dibutuhkan instruksi akan dimasukkan kedalam ruang yang ditempati sebelumnya oleh oleh instruksi yang tidak lagi dibutuhkan.

Sebagai contoh, sebuah two-pass assembler. selama pass1 dibangun sebuah tabel simbol, kemudian selama pass2, akan membuat kode bahasa mesin. kita dapat mempartisi sebuah assembler menjadi kode pass1, kode pass2, dan simbol tabel. dan rutin biasa digunakan untuk kedua pass1 dan pass2.

Untuk menempatkan semuanya sekaligus, kita akan membutuhkan 200K memori. Jika hanya 150K yang tersedia, kita tidak dapat menjalankan proses. Bagaimana pun perhatikan bahwa pass1 dan pass2 tidak harus berada di memori pada saat yang sama. Kita mendefinisikan dua lapisan atas. Lapisan atas A untuk pass1, tabel simbol dan rutin, lapisan atas 2 untuk simbol tabel, rutin, dan pass2.

Kita menambahkan sebuah driver lapisan atas (10K) dan mulai dengan lapisan atas A di memori. Ketika selesai pass1, lompat ke driver, dan membaca lapisan atas B kedalam memori, meniban lapisan atas A, dan mengirim kontrol ke pass2. Lapisan atas A butuh hanya 120K, dan B membutuhkan 150K memori. Kita sekarang dapat menjalankan assembler dalam 150K memori. Penempatan akan lebih cepat, karena lebih sedikit data yang ditransfer sebelum eksekusi dimulai. Jalan program akan lebih lambat, karena ekstra I/O dari kode lapisan atas B melalui kode lapisan atas A.

Seperti dalam penempatan dinamis, lapisan atas tidak membutuhkan dukungan tertentu dari sistem operasi. Implementasi dapat dilakukan secara lengkap oleh user dengan berkas struktur yang sederhana, membasa dari berkas ke memori, dan lompat dari memori tersebut, dan mengeksekusi instruksi yang baru dibaca. Sistem operasi hanya memperhatikan jika ada lebih banyak I/O dari biasanya.

Di sisi lain programmer harus mendesain program dengan struktur lapisan atas yang layak. Tugas ini membutuhkan pengetahuan yang komplit tentang struktur dari program, kode dan struktur data.

Pemakaian dari lapisan atas, dibatasi oleh mikrokomputer, dan sistem lain yang mempunyai batasan jumlah memori fisik, dan kurangnya dukungan perangkat keras, untuk teknik yang lebih maju. Teknik otomatis menjalankan program besar dalam dalam jumlah memori fisik yang terbatas, lebih diutamakan.

4.2. Penukaran (Swap)

Sebuah proses membutuhkan memori untuk dieksekusi. Sebuah proses dapat ditukar sementara keluar memori ke backing store (disk), dan kemudian dibawa masuk lagi ke memori untuk dieksekusi. Sebagai contoh, asumsi multiprogramming, dengan penjadualan algoritma CPU Round-Robin. Ketika kuantum habis, manager memori akan mulai menukar keluar proses yang selesai, dan memasukkan ke memori proses yang bebas. Sementara penjadualan CPU akan mangalokasikan waktu untuk proses lain di memori. Ketika tiap proses menghabiskan waktu kuantumnya, proses akan ditukar dengan proses lain.

Idealnya memori manager, dapat menukar proses-proses cukup cepat, sehingga selalu ada proses dimemori, siap dieksekusi, ketika penjadual CPU ingin menjadual ulang CPU. Besar kuantum juga harus cukup besar, sehingga jumlah perhitungan yang dilakukan antar pertukaran masuk akal. Variasi dari kebijakan swapping ini, digunakan untuk algoritma penjadualan berdasarkan prioritas. Jika proses yang lebih tinggi tiba, dan minta dilayani, memori manager dapat menukar keluar proses dengan prioritas yang lebih rendah, sehingga dapat memasukkan dan mengeksekusi proses dengan prioritas yang lebih tinggi. Ketika proses dengan prioritas lebih tinggi selesai, proses dengan prioritas yang lebih rendah, dapat ditukar masuk kembali, dan melanjutkan. Macam-macam pertukaran ini kadang disebut roll out, dan roll in.

Normalnya, sebuah proses yang ditukar keluar, akan dimasukkan kembali ke tempat memori yang sama dengan yang digunakan sebelumnya. Batasan ini dibuat oleh method pengikat alamat. Jika pengikatan dilakukan saat assemble atau load time, maka proses tidak bisa dipindahkan ke lokasi yang berbeda. Jika menggunakan pengikatan waktu eksekusi, maka akan mungkin menukar proses kedalam tempat memori yang berbeda. Karena alamat fisik dihitung selama proses eksekusi.

Pertukaran membutuhkan sebuah backing store. Backing store biasanya adalah sebuah disk yang cepat. Cukup besar untuk mengakomodasi semua kopi tampilan memori. Sistem memelihara ready queue terdiri dari semua proses yang mempunyai tampilan memori yang ada di backing store, atau di memori dan siap dijalankan. Ketika penjadual CPU memutuskan untuk mengeksekusi sebuah proses, dia akan memanggil dispatcher, yang mengecek dan melihat apakah proses berikutnya ada diantrian memori. Jika proses tidak ada, dan tidak ada ruang memori yang kosong, dispatcher menukar keluar sebuah proses dan memaasukan proses yang diinginkan. Kemudian memasukkan ulang register dengan normal, dan mentransfer pengendali ke proses yang diinginkan.

Konteks waktu pergantian pada sistem swapping, lumayan tinggi. Untuk efisiensi kegunaan CPU, kita ingin waktu eksekusi untuk tiap proses lebih lama dari waktu pertukaran. Karenanya digunakan CPU penjadualan roun-robin, dimana kuantumnya harus lebih besar dari waktu pertukaran.

Perhatikan bahwa bagian terbesar dari waktu pertukaran, adalah waktu pengiriman. Total waktu pengiriman langsung didapat dari jumlah pertukaran memori.

Proses dengan kebutuhan memori dinamis, akan membutuhkan system call (meminta dan melepaskan memori), untuk memberi tahu sistem operasi tentang perubahan kebutuhan memori.

Ada beberapa keterbatasan swapping. Jika kita ingin menukar sebuah proses kita harus yakin bahwa proses sepenuhnya diam. Konsentrasi lebih jauh, jika ada penundaan I/O. Sebuah proses mungkin menunggu I/O, ketika kita ingin menukar proses itu untuk mengosongkan memori. Jika I/O secara asinkronus, mengakses memori dari I/O buffer, maka proses tidak bisa ditukar. Misalkan I/O operation berada di antrian, karena device sedang sibuk. Maka bila kita menukar keluar proses P1 dan memasukkan P2, mungkin saja operasi I/O akan berusaha masuk ke memori yang sekarang milik P2.

Dua solusi utama masalah ini adalah

1. Jangan pernah menukar proses yang sedang menunggu I/O.
2. Untuk mengeksekusi operasi I/O hanya pada buffer sistem operasi.

Secara umum, ruang pertukaran dialokasikan sebagai potongan disk, terpisah dari sistem berkas, sehingga bisa digunakan secepat mungkin.

Belakangan pertukaran standar pertukaran digunakan dibeberapa sistem. Ini membutuhkan terlalu banyak waktu untuk menukar dari pada untuk mengeksekusi untuk solusi managemen memori yang masuk akal. Modifikasi swapping digunakan dibanyak versi di UNIX. Pertukaran awalnya tidak bisa, tapi akan mulai bila banyak proses yang jalan dan menggunakan batas jumlah memori. Download Full Materi


[Read More...]


Sistem Berkas



5.1. Pengertian

Sistem berkas merupakan mekanisme penyimpanan on-line serta untuk akses, baik data mau pun program yang berada dalam Sistem Operasi. Terdapat dua bagian penting dalam sistem berkas, yaitu:
  • kumpulan berkas, sebagai tempat penyimpanan data, serta
  • struktur direktori, yang mengatur dan menyediakan informasi mengenai seluruh berkas dalam sistem.
Pada bab ini, akan dibahas tentang berbagai aspek dari berkas dan struktur, cara menangani proteksi berkas, cara mengalokasikan ruang pada disk, melacak lokasi data, serta meng-interface bagian-bagian lain dari sistem operasi ke penyimpanan sekunder.

5.2. Berkas

5.2.1. Konsep Dasar

Seperti yang telah kita ketahui, komputer dapat menyimpan informasi ke beberapa media penyimpanan yang berbeda, seperti magnetic disks, magnetic tapes, dan optical disks. Agar komputer dapat digunakan dengan nyaman, sistem operasi menyediakan sistem penyimpanan dengan sistematika yang seragam. Sistem Operasi mengabstraksi properti fisik dari media penyimpanannya dan mendefinisikan unit penyimpanan logis, yaitu berkas. Berkas dipetakan ke media fisik oleh sistem operasi. Media penyimpanan ini umumnya bersifat non-volatile, sehingga kandungan di dalamnya tidak akan hilang jika terjadi gagal listrik mau pun system reboot.

Berkas adalah kumpulan informasi berkait yang diberi nama dan direkam pada penyimpanan sekunder. Dari sudut pandang pengguna, berkas merupakan bagian terkecil dari penyimpanan logis, artinya data tidak dapat ditulis ke penyimpanan sekunder kecuali jika berada di dalam berkas. Biasanya berkas merepresentasikan program (baik source mau pun bentuk objek) dan data. Data dari berkas dapat bersifat numerik, alfabetik, alfanumerik, atau pun biner. Format berkas juga bisa bebas, misalnya berkas teks, atau dapat juga diformat pasti. Secara umum, berkas adalah urutan bit, byte, baris, atau catatan yang didefinisikan oleh pembuat berkas dan pengguna.

Informasi dalam berkas ditentukan oleh pembuatnya. Ada banyak beragam jenis informasi yang dapat disimpan dalam berkas. Hal ini disebabkan oleh struktur tertentu yang dimiliki oleh berkas, sesuai dengan jenisnya masing-masing. Contohnya:

•    Text file; yaitu urutan karakter yang disusun ke dalam baris-baris.
•    Source file; yaitu urutan subroutine dan fungsi, yang nantinya akan dideklarasikan.
•    Object file; merupakan urutan byte yang diatur ke dalam blok-blok yang dikenali oleh linker dari sistem.
•    Executable file; adalah rangkaian code section yang dapat dibawa loader ke dalam memori dandieksekusi.

5.2.2. Atribut Pada Berkas

Berkas diberi nama, untuk kenyamanan bagi pengguna, dan untuk acuan bagi data yang terkandung di dalamnya. Nama berkas biasanya berupa string atau karakter. Beberapa sistem membedakan penggunaan huruf besar dan kecil dalam penamaan sebuah berkas, sementara sistem yang lain menganggap kedua hal di atas sama.Ketika berkas diberi nama, maka berkas tersebut akan menjadi mandiri terhadap proses, pengguna, bahkan sistem yang membuatnya. Atribut berkas terdiri dari:
  • Nama; merupakan satu-satunya informasi yang tetap dalam bentuk yang bisa dibaca oleh manusia (human-readable form)
  • Type; dibutuhkan untuk sistem yang mendukung beberapa type berbeda
  • Lokasi; merupakan pointer ke device dan ke lokasi berkas pada device tersebut
  • Ukuran (size); yaitu ukuran berkas pada saat itu, baik dalam byte, huruf, atau pun blok
  • Proteksi; adalah informasi mengenai kontrol akses, misalnya siapa saja yang boleh membaca, menulis, dan mengeksekusi berkas
  • Waktu, tanggal dan identifikasi pengguna; informasi ini biasanya disimpan untuk:
  1. pembuatan berkas,
  2. modifikasi terakhir yang dilakukan pada berkas, dan
  3. penggunaan terakhir berkas.
Data tersebut dapat berguna untuk proteksi, keamanan, dan monitoring penggunaan dari berkas.

Informasi tentang seluruh berkas disimpan dalam struktur direktori yang terdapat pada penyimpanan sekunder. Direktori, seperti berkas, harus bersifat non-volatile, sehingga keduanya harus disimpan pada sebuah device dan baru dibawa bagian per bagian ke memori pada saat dibutuhkan.

5.2.3. Operasi Pada Berkas

Sebuah berkas adalah jenis data abstrak. Untuk mendefinisikan berkas secara tepat, kita perlu melihat operasi yang dapat dilakukan pada berkas tersebut. Sistem operasi menyediakan system calls untuk membuat, membaca, menulis, mencari, menghapus, dan sebagainya. Berikut dapat kita lihat apa yang harus dilakukan sistem operasi pada keenam operasi dasar pada berkas.

•    Membuat sebuah berkas: Ada dua cara dalam membuat berkas. Pertama, tempat baru di dalam sistem berkas harus di alokasikan untuk berkas yang akan dibuat. Kedua, sebuah direktori harus mempersiapkan tempat untuk berkas baru, kemudian direktori tersebut akan mencatat nama berkas dan lokasinya pada sistem berkas.

•    Menulis pada sebuah berkas: Untuk menulis pada berkas, kita menggunakan system call beserta nama berkas yang akan ditulisi dan informasi apa yang akan ditulis pada berkas.  Ketika diberi nama berkas, sistem mencari ke direktori untuk mendapatkan lokasi berkas. Sistem juga harus menyimpan penunjuk tulis pada berkas dimana penulisan berikut akan ditempatkan. Penunjuk tulis harus diperbaharui setiap terjadi penulisan pada berkas.

•    Membaca sebuah berkas: Untuk dapat membaca berkas, kita menggunakan system call beserta nama berkas dan di blok memori mana berkas berikutnya diletakkan. Sama seperti menulis, direktori mencari berkas yang akan dibaca, dan sistem menyimpan penunjuk baca pada berkas dimana pembacaan berikutnya akan terjadi. Ketika pembacaan dimulai, penunjuk baca harus diperbaharui.Sehingga secara umum, suatu berkas ketika sedang dibaca atau ditulis, kebanyakan sistem hanya mempunyai satu penunjuk, baca dan tulis menggunakan penunjuk yang sama, hal ini menghemat tempat dan mengurangi kompleksitas sistem.

•    Menempatkan kembali sebuah berkas: Direktori yang bertugas untuk mencari berkas yang bersesuaian, dan mengembalikan lokasi berkas pada saat itu. Menempatkan berkas tidak perlu melibatkan proses I/O. Operasi sering disebut pencarian berkas.

•    Menghapus sebuah berkas: Untuk menghapus berkas kita perlu mencari berkas tersebut di dalam direktori. Setelah ditemukan kita membebaskan tempat yang dipakai berkas tersebut (sehingga dapat digunakkan oleh berkas lain) dan menghapus tempatnya di direktori.

•    Memendekkan berkas: Ada suatu keadaan dimana pengguna menginginkan atribut dari berkas tetap sama tetapi ingin menghapus isi dari berkas tersebut. Fungsi ini mengizinkan semua atribut tetap sama tetapi panjang berkas menjadi nol, hal ini lebih baik dari pada memaksa pengguna untuk menghapus berkas dan membuatnya lagi.

Enam operasi dasar ini sudah mencakup operasi minimum yang di butuhkan. Operasi umum lainnya adalah menyambung informasi baru di akhir suatu berkas, mengubah nama suatu berkas, dan lain-lain.

Operasi dasar ini kemudian digabung untuk melakukan operasi lainnya. Sebagai contoh misalnya kita menginginkan salinan dari suatu berkas, atau menyalin berkas ke peralatan I/O lainnya seperti printer, dengan cara membuat berkas lalu membaca dari berkas lama dan menulis ke berkas yang baru.

Hampir semua operasi pada berkas melibatkan pencarian berkas pada direktori. Untuk menghindari pencarian yang lama, kebanyakan sistem akan membuka berkas apabila berkas tersebut digunakan secara aktif. Sistem operasi akan menyimpan tabel kecil yang berisi informasi semua berkas yang dibuka yang disebut "tabel berkas terbuka". Ketika berkas sudah tidak digunakan lagi dan sudah ditutup oleh yang menggunakan, maka sistem operasi mengeluarkan berkas tersebut dari tabel berkas terbuka.

Beberapa sistem terkadang langsung membuka berkas ketika berkas tersebut digunakan dan otomatis menutup berkas tersebut jika program atau pemakainya dimatikan. Tetapi pada sistem lainnya terkadang membutuhkan pembukaan berkas secara tersurat dengan system call (open) sebelum berkas dapat digunakan.

Implementasi dari buka dan tutup berkas dalam lingkungan dengan banyak perngguna seperti UNIX, lebih rumit. Dalam sistem seperti itu pengguna yang membuka berkas mungkin lebih dari satu dan pada waktu yang hampir bersamaan. Umumnya sistem operasi menggunakan tabel internal dua level. Ada tabel yang mendata proses mana saja yang membuka berkas tersebut, kemudian tabel tersebut menunjuk ke tabel yang lebih besar yang berisi informasi yang berdiri sendiri seperti lokasi berkas pada disk,  tanggal akses dan ukuran berkas. Biasanya tabel tersebut juga memiliki data berapa banyak proses yang
membuka berkas tersebut.

Jadi, pada dasarnya ada beberapa informasi yang terkait dengan pembukaan berkas yaitu:
  • Penunjuk Berkas: Pada sistem yang tidak mengikutkan batas berkas sebagai bagian dari system call baca dan tulis, sistem tersebut harus mengikuti posisi dimana terakhir proses baca dan tulis sebagai penunjuk. Penunjuk ini unik untuk setiap operasi pada berkas, maka dari itu harus disimpan terpisah dari atribut berkas yang ada pada disk.
  • Penghitung berkas yang terbuka: Setelah berkas ditutup, sistem harus mengosongkan kembali tabel berkas yang dibuka yang digunakan oleh berkas tadi atau tempat di tabel akan habis. Karena mungkin ada beberapa proses yang membuka berkas secara bersamaan dan sistem harus menunggu sampai berkas tersebut ditutup sebelum mengosongkan tempatnya di tabel. Penghitung ini mencatat banyaknya berkas yang telah dibuka dan ditutup, dan menjadi nol ketika yang terakhir membaca berkas menutup berkas tersebut barulah sistem dapat mengosongkan tempatnya di tabel.
  • Lokasi berkas pada disk: Kebanyakan operasi pada berkas memerlukan sistem untuk mengubah data yang ada pada berkas. Informasi mengenai lokasi berkas pada disk disimpan di memori agar menghindari banyak pembacaan pada disk untuk setiap operasi.
Beberapa sistem operasi menyediakan fasilitas untuk memetakan berkas ke dalam memori pada sistem memori virtual. Hal tersebut mengizinkan bagian dari berkas ditempatkan pada suatu alamat di memori virtual. Operasi baca dan tulis pada memori dengan alamat tersebut dianggap sebagai operasi baca dan tulis pada berkas yang ada di alamat tersebut. Menutup berkas mengakibatkan semua data yang ada pada alamat memori tersebut dikembalikan ke disk dan dihilangkan dari memori virtual yang digunakan oleh proses.



[Read More...]


Sinkronisasi dan Deadlock



3.1. Sinkronisasi

Bab ini membicarakan proses-proses untuk saling berkordinasi. Bab ini juga akan menjawab pertanyaan-pertanyaan seperti, bagaimana proses bekerja dengan sumber daya yang dibagi-bagi.

Bagaimana memastikan hanya ada satu proses yang mengakses memori pada suatu saat? Bagaimana sinkronisasi benar-benar digunakan?

3.1.1. Latar Belakang
  • Akses-akses yang dilakukan secara bersama-sama ke data yang sama, dapat menyebabkan data menjadi tidak konsisten.
  • Untuk menjaga agar data tetap konsisten, dibutuhkan mekanisme-mekanisme untuk memastikan pemintaan ekseskusi dari proses yang bekerja.
  • Race Condition: Situasi dimana beberapa proses mengakses dan memanipulasi data secara bersamaan. Nilai terakhir dari data bergantung dari proses mana yang selesai terakhir.
  • Untuk menghindari Race Condition, proses-proses secara bersamaan harus disinkronisasikan.
3.1.1.1. Kasus Produsen-Konsumer

Dua proses berbagi sebuah buffer dengan ukuran yang tetap. Salah satunya produser, meletakkan informasi ke buffer yang lainnya. Konsumen mengambil informasi dari buffer. Ini juga dapat digeneralisasi untuk masalah yang memiliki m buah produsen dan n buah konsumen, tetapi kita hanya akan memfokuskan kasus dengan satu produsen dan satu konsumen karena diasumsikan dapat menyederhanakan solusi.

Masalah akan timbul ketika produsen ingin menaruh barang yang baru tetapi buffer sudah penuh. Solusi untuk produsen adalah istirahat (sleep) dan akan dibangunkan ketika konsumen telah mengambil satu atau lebih barang dari buffer. Biasanya jika konsumen ingin mengambil barang dari buffer dan melihat bahwa buffer sedang kosong, maka konsumen istirahat (sleep) sampai produsen meletakkan barang pada buffer dan membangunkan (wake up) consumer.

Pendekatan seperti ini terdengar cukup sederhana, tetapi hal ini dapat menggiring kita ke jenis masalah yang sama seperti race condition dengan spooler direktori.

Untuk mengetahui jumlah barang di buffer, kita membutuhkan sebuah variabel kita namakan count. Jika jumlah maksimum dairi barang yang dapat ditampung buffer adalah N, kode produser pertama kali akan mencoba untuk mengetahui apakah nilai count sama dengan nilai N. Jika itu terjadi maka produsen akan istirahat (sleep), tetapi jika nilai count tidak sama dengan N, produsen akan terus menambahkan barang dan menaikkan nilai count.

Sekarang mari kita kembali ke permasalahan race condition. Ini dapat terjadi karena akses ke count tidak dipaksakan. Situasi seperti itu mungkin dapat terjadi. Buffer sedang kosong dan konsumen baru saja membaca count untuk melihat apakah count bernilai 0. Pada saat itu, penjadual memutuskan untuk mengentikan proses konsumen sementara dan menjalakan produsen. Produsen memasukkan barang ke buffer, menaikkan nilai count, dan memberitahukan bahwa count sekarang bernilai 1. Pemikiran bahwa count baru saja bernilai 0 sehingga konsumen harus istirahat (sleep). Produsen memanggil fungsi wake up untuk membangkitkan konsumen.

Sayangnya, konsumen secara logika belum istirahat. Jadi sinyal untuk membangkitkan konsumen, tidak dapat ditangkap oleh konsumen. Ketika konsumen bekerja berikutnya, konsumen akan memeriksa nilai count yang dibaca sebelumnya, dan mendapatkan nilai 0, kemudian konsumen istirahat (sleep) lagi. Cepat atau lambat produsen akan mengisi buffer dan juga pergi istirahat (sleep). Keduanya akan istirahat selamanya.

Inti permasalahannya disini adalah pesan untuk membangkitkan sebuah proses tidak tersampaikan. Jika pesan/ sinyal ini tersampaikan dengan baik, segalanya akan berjalan lancar. Download Full Materi


[Read More...]


Proses dan Thread



2.1. Proses

Satu diskusi mengenai sistem operasi yaitu bahwa ada sebuah pertanyaan mengenai untuk apa menyebut semua aktivitas CPU. Sistem batch mengeksekusi jobs, sebagaimana suatu sistem time-shared telah menggunakan program pengguna, atau tugas-tugas/pekerjaan-pekerjaan. Bahkan pada sistem tunggal, seperti Microsoft Windows dan Macintosh OS, seorang pengguna mampu untuk menjalankan beberapa program pada saat yang sama: sebuah Word Processor, Web Browser, dan paket e-mail. Bahkan jika pengguna dapat melakukan hanya satu program pada satu waktu, sistem operasi perlu untuk mendukung aktivitas program internalnya sendiri, seperti managemen memori. Dalam banyak hal, seluruh aktivitas ini adalah serupa, maka kita menyebut seluruh program itu proses-proses (processes).

Istilah job dan proses digunakan hampir dapat dipertukarkan pada tulisan ini. Walau kami pribadi lebih menyukai istilah proses, banyak teori dan terminologi sistem-operasi dikembangkan selama suatu waktu ketika aktivitas utama sistem operasi adalah job processing. Akan menyesatkan untuk menghindari penggunaan istilah umum yang telah diterima bahwa memasukkn kata job (seperti penjadualan job) hanya karena proses memiliki job pengganti/ pendahulu.
2.2. Threads

Model proses yang didiskusikan sejauh ini telah menunjukkan bahwa suatu proses adalah sebuah program yang menjalankan eksekusi thread tunggal. Sebagai contoh, jika sebuah proses menjalankan sebuah program Word Processor, ada sebuah thread tunggal dari instruksi-instruksi yang sedang dilaksanakan.

Kontrol thread tunggal ini hanya memungkinkan proses untuk menjalankan satu tugas pada satu waktu. Banyak sistem operasi modern telah memiliki konsep yang dikembangkan agar memungkinkan sebuah proses untuk memiliki eksekusi multithreads, agar dapat dapat secara terus menerus mengetik dalam karakter dan menjalankan pengecek ejaan didalam proses yang sama. Maka sistem operasi tersebut memungkinkan proses untuk menjalankan lebih dari satu tugas pada satu waktu. Pada Bagian 2.5 akan dibahas proses multithreaded. Download Full Materi


[Read More...]


Pendahuluan Sistem Operasi



1.1. Sistem Operasi

Sistem operasi merupakan sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Sebelum ada sistem operasi, orang hanya mengunakan komputer dengan menggunakan sinyal analog dan sinyal digital. Seiring dengan berkembangnya pengetahuan dan teknologi, pada saat ini terdapat berbagai sistem operasi dengan keunggulan masing-masing. Untuk lebih memahami sistem operasi maka sebaiknya perlu diketahui terlebih dahulu beberapa konsep dasar mengenai sistem operasi itu sendiri.

Pengertian sistem operasi secara umum ialah pengelola seluruh sumber-daya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan (system calls) ke pemakai sehingga memudahkan dan menyamankan penggunaan serta pemanfaatan sumber-daya sistem komputer.

1.1.1. Fungsi Dasar

Sistem komputer pada dasarnya terdiri dari empat komponen utama, yaitu perangkat-keras, program aplikasi, sistem-operasi, dan para pengguna. Sistem operasi berfungsi untuk mengatur dan mengawasi penggunaan perangkat keras oleh berbagai program aplikasi serta para pengguna.

Gambar 1-1 Komponen Sistem

Sistem operasi berfungsi ibarat pemerintah dalam suatu negara, dalam arti membuat kondisi komputer agar dapat menjalankan program secara benar. Untuk menghindari konflik yang terjadi pada saat pengguna menggunakan sumber-daya yang sama, sistem operasi mengatur pengguna mana yang dapat mengakses suatu sumber-daya. Sistem operasi juga sering disebut resource allocator. Satu lagi fungsi penting sistem operasi ialah sebagai program pengendali yang bertujuan untuk menghindari kekeliruan (error) dan penggunaan komputer yang tidak perlu.

1.1.2. Tujuan Mempelajari Sistem Operasi

Tujuan mempelajari sistem operasi agar dapat merancang sendiri serta dapat memodifikasi sistem yang telah ada sesuai dengan kebutuhan kita, agar dapat memilih alternatif sistem operasi, memaksimalkan penggunaan sistem operasi dan agar konsep dan teknik sistem operasi dapat diterapkan pada aplikasi-aplikasi lain.

1.1.3. Sasaran Sistem Operasi

Sistem operasi mempunyai tiga sasaran utama yaitu kenyamanan -- membuat penggunaan komputer menjadi lebih nyaman, efisien -- penggunaan sumber-daya sistem komputer secara efisien, serta mampu berevolusi -- sistem operasi harus dibangun sehingga memungkinkan dan memudahkan pengembangan, pengujian serta pengajuan sistem-sistem yang baru.

1.1.4. Sejarah Sistem Operasi

Menurut Tanenbaum, sistem operasi mengalami perkembangan yang sangat pesat, yang dapat dibagi kedalam empat generasi:

•    Generasi Pertama (1945-1955)
Generasi pertama merupakan awal perkembangan sistem komputasi elektronik sebagai pengganti sistem komputasi mekanik, hal itu disebabkan kecepatan manusia untuk menghitung terbatas dan manusia sangat mudah untuk membuat kecerobohan, kekeliruan bahkan kesalahan. Pada generasi ini belum ada sistem operasi, maka sistem komputer diberi instruksi yang harus dikerjakan secara langsung.

•    Generasi Kedua (1955-1965)
Generasi kedua memperkenalkan Batch Processing System, yaitu Job yang dikerjakan dalam satu rangkaian, lalu dieksekusi secara berurutan.Pada generasi ini sistem komputer belum dilengkapi sistem operasi, tetapi beberapa fungsi sistem operasi telah ada, contohnya fungsi sistem operasi ialah FMS dan IBSYS.

•    Generasi Ketiga (1965-1980)
Pada generasi ini perkembangan sistem operasi dikembangkan untuk melayani banyak pemakai sekaligus, dimana para pemakai interaktif berkomunikasi lewat terminal secara on-line ke komputer, maka sistem operasi menjadi multi-user (di gunakan banyak pengguna sekaligus) dan multi-programming (melayani banyak program sekali gus).

•    Generasi Keempat (Pasca 1980an)
Dewasa ini, sistem operasi dipergunakan untuk jaringan komputer dimana pemakai menyadari keberadaan komputer-komputer yang saling terhubung satu sama lainnya. Pada masa ini para pengguna juga telah dinyamankan dengan Graphical User Interface yaitu antar-muka komputer yang berbasis grafis yang sangat nyaman, pada masa ini juga dimulai era komputasi tersebar dimana komputasi-komputasi tidak lagi berpusat di satu titik, tetapi dipecah dibanyak komputer sehingga tercapai kinerja yang lebih baik. Download Full Materi


[Read More...]


Keamanan Sistem dan Proteksi



Pendahuluan

Keamanan komputer adalah suatu perlindungan yang diusahakan oleh suatu system informasi dalam rangka mencapai sasaran hasil yang bisa diterapkan atau cara untuk memelihara integritas, kerahasiaan dan tersedianya informasi. Tetapi pada saat ini sistem komputer yang terpasang makin mudah diakses. Sistem time sharing dan akses jarak jauh menyebabkan kelemahan komunikasi data menjadi pokok masalah keamanan. Kelemahan ini menjadi amat serius dnegan meningkatknya perkembangan jaringan komputer.

Kecenderungan lain saat ini adalahmemberi tanggung jawab pengelolaan aktivitas pribadi dan bisnis ke komputer. Komputer telah rutin dipakai untuk korespondensi yang sanga sensitif, seperti : 
  1. sistem transfer dana elektronis (electronic fund transfer system) : melewatkan sejumlah uang sebagai aliran bit 
  2. sistem kendali lalu lintas udara (air traffic control system) : melakukan banyak kerja yang sebelumnya ditangani pengendali manusia. 
  3. Unit rawat intensif di rumah sakit sudah sangat terkomputerisasi.
Saat ini, implementasi pengamanan sangat penting untuk enjamin sistem tidak diinterupsi dan diganggu. Proteksi dan pengaman terhadap perangkat keras dan sistem operasi sama pentingnya.

Sistem operasi hanya satu porsi kecil dari seluruh perangkat lunak di suatu sistem. Tetapi karena peran sistem operasi mengendalikan pengaksesan ke sumber daya, dimana perangkat lunak lain pengaksesan sumber daya lewat sistem operasi, maka sistem operasi menempati posisi yang penting dalam pengamanan sistem. Pengamanan perangkat lunak cenderung memfokuskan pada pengamanan sistem operasi. Perlu diingat bahwa perangkat lunak aplikasi juga memberi resiko keamanan.

Keamanan sistem operasi merupakan bagian dari masalah sistem komputer secara total, tapi telah menjadi bagian yang meningkat kepentingannya. Pengamanan sistem operasi berarti kecil jika setipa orang dapat berjalan melenggang di ruang sistem komputer. Pengamanan secara fisik  dengan membatasi pengaksesan fisik secara langsung dengan fasilitas sistem komputer harus dilakukan juga.

1. Keamanan

Pengamanan sistem komputer bertujuan untuk menjamin sumber daya tidak digunakan atau dimodifikasi oleh orang tak berhak. Pengamanan termasuk masalah teknis, manajerial, legalitas dan politis.
Terdapat empat macama kejahatan komputer, antara lain :
  1. Pencurian waktu komputer. Ini meliputi waktu yang diperlukan memperbaiki sistem komputer setelah terkena virus.
  2. Pencurian data
  3. Manipulasi program komputer
  4. Pencurian software maupun pengkopian software
Keamanan sistem terbagi menjadi tiga, yaitu :
1.Keamanan eksternal
Keamanan eksternal berkaitan dengan pengamanan fasilitas komputer dari penyusup dan bencana seperti kebakaran atau kebanjiran.

2.Keamanan interface pemakai
Keamanan interface pemakai berkaitan dengan identifikasi pemakai sebelum pemakai diijinkan mengakses program dan data yang disimpan.

3.Keamanan internal
Keamanan internal berkaitan dengan pengamanan beragam kendali yang dibangun pada perangkat keras dan sistem operasi yang menjamin operasi yang lhandal dan tak terkorupsi untuk menjaga integritas program dan data. Download Full Materi


Sumber : http://robby.c.staff.gunadarma.ac.id
[Read More...]


I/O dan Disk



A. Perangkat Keras I/O

Secara umum, terdapat beberapa jenis seperti device penyimpanan (disk, tape), transmission device (network card, modem), dan human-interface device (screen, keyboard, mouse). Device tersebut dikendalikan oleh instruksi I/O. Alamat-alamat yang dimiliki oleh device akan digunakan oleh direct I/O instruction dan memory-mapped I/O.

Beberapa konsep yang umum digunakan ialah port, bus (daisy chain/ shared direct access), dan controller (host adapter). Port adalah koneksi yang digunakan oleh device untuk berkomunikasi dengan mesin. Bus adalah koneksi yang menghubungkan beberapa device menggunakan kabel-kabel. Controller adalah alat-alat elektronik yang berfungsi untuk mengoperasikan port, bus, dan device.

Langkah yang ditentukan untuk device adalah command-ready, busy, dan error. Host mengeset command-ready ketika perintah telah siap untuk dieksekusi oleh controller. Controller mengeset busy ketika sedang mengerjakan sesuatu, dan men clear busy ketika telah siap untuk menerima perintah selanjutnya. Error diset ketika terjadi kesalahan.

B. Struktur Disk

Disk menyediakan penyimpanan sekunder bagi sistem komputer modern. Magnetic tape sebelumnya digunakan sebagai media penyimpanan sekunder, tetapi waktu aksesnya lebih lambat dari disk. Oleh karena itu, sekarang tape digunakan terutama untuk backup, untuk penyimpanan informasi yang tidak sering, sebagai media untuk mentransfer infromasi dari satu sistem ke sistem yang lain, dan untuk menyimpan sejumlah data yang terlalu besar untuk sistem disk.

Disk drive modern dialamatkan sebagai suatu array satu dimensi yang besar dari blok lojik, dimana blok lojik merupakan unit terkecil dari transfer. Ukuran dari blok lojik biasanya adalah 512 bytes, walau pun sejumlah disk dapat diformat di level rendah (low level formatted) untuk memilih sebuah ukuran blok lojik yang berbeda, misalnya 1024 bytes.

Array satu dimensi dari blok lojik dipetakan ke bagian dari disk secara sekuensial. Sektor 0 adalah sektor pertama dari trek pertama di silinder paling luar (outermost cylinder). Pemetaan kemudian memproses secara berurutan trek tersebut, kemudian melalui trek selanjutnya di silinder tersebut, dan kemudian sisa silinder dari yang paling luar sampai yang paling dalam.

Dengan menggunakan pemetaan, kita dapat minimal dalam teori mengubah sebuah nomor blok logikal ke sebuah alamat disk yang bergaya lama (old-style disk address) yang terdiri atas sebuah nomor silinder, sebuah nomor trek di silinder tersebut, dan sebuah nomor sektor di trek tersebut. Dalam prakteknya, adalah sulit untuk melakukan translasi ini, dengan 2 alasan. Pertama, kebanyakan disk memiliki sejumlah sektor yang rusak, tetapi pemetaan menyembunyikan hal ini dengan mensubstitusikan dengan sektor yang dibutuhkan dari mana-mana di dalam disk. Kedua, jumlah dari sektor per trek tidaklah konstan. Semakin jauh sebuah trek dari tengah disk, semakin besar panjangnya, dan juga semakin banyak sektor yang dipunyainya. Oleh karena itu, disk modern diatur menjadi zona-zona silinder. Nomor sektor per trek adalah konstan dalam sebuah zona. Tetapi seiring kita berpindah dari zona dalam ke zona luar, nomor sektor per trek bertambah. Trek di zona paling luar tipikalnya mempunyai 40 persen sektor lebih banyak daripada trek di zona paling dalam.

Nomor sektor per trek telah meningkat seiring dengan peningkatan teknologi disk, dan adalah lazim untuk mempunyai lebih dari 100 sektor per trek di zona yang lebih luar dari disk. Dengan analogi yang sama, nomor silinder per disk telah meningkat, dan sejumlah ribuan silinder adalah tak biasa. Download Full Materi 

[Read More...]


Materi Teknologi Informasi



Matakuliah berisi perkenalan tentang teknologi informasi kepada mahasiswa program studi Teknik Informatika. Silahkan Download pada link dibawah ini :
2. Materi II
[Read More...]


Materi Matematika Diskrit



Matemtika Diskrit merupakan cabang matematika yang mempelajari tentang obyek-obyek diskrit.Diskrit itu sendiri adalah sejumlah berhingga elemen yang berbeda atau elemen-elemen yang tidak bersambungan. Dimana data diskrit merupakan data yang satuannya selalu bulat dalam bilangan asli, tidak berbentuk pecahan, Contoh dari data diskrit misalnya manusia, pohon, bola dan lain-lain. trus mengapa belajar Matematika Diskrit 
  1. Landasan berbagai bidang matematika: logika, teori bilangan, aljabar linier dan abstrak, kombinatorika, teori graf, teori peluang (diskrit).
  2. Landasan ilmu komputer: struktur data, algoritma, teori database, bahasa formal, teori automata, teori compiler, sistem operasi, dan pengamanan komputer (computer security).
  3. Mempelajari latar belakang matematis yang diperlukan untuk memecahkan masalah dalam riset operasi (optimasi diskrit), kimia, ilmu-ilmu teknik, biologi, telekomunikasi, dsb.
Untuk mempelajari Matematika Diskrit lebih lanjut, silahkan Download pada link di bawah ini
1. BAB I. HIMPUNAN
MATERI LENGKAP
[Read More...]


Pendahuluan Rekayasa Perangkat Lunak



Rekayasa perangkat lunak telah berkembang sejak pertama kali ddiciptakan pada tahun 1940-an hingga kini. Focus utama pengembangannya adalah untuk mengembangkan praktek dan teknologi untuk meningkatkan produktivitas para praktisi pengembang perangkat luank dan kualitas aplikasi yang dapat digunakan oleh pemakai.

I.1 Sejarah Software Engineering
Istilah software engineering digunakan pertama kali pada akhir 1950-an dan awal 1960-an. Saat itu, masih terdapat perdebatan tajam mengenai aspek engineering dari pengembangan perangkat lunak. Pada tahun 1968 dan 1969, komite sains NATO mensponsori dua konferensi tentang rekayasa perangkat lunak, yang memberikan dampak kuat terhadap pengembangan rekayasa perangkat lunak. Banyak yang menganggap dua konferensi inilah yang menandai awal resmi profesi rekayasa perangkat lunak.

I.2 Pengertian Dasar
Istilah Reakayasa Perangkat Lunak (RPL) secara umum disepakati sebagai terjemahan dari istilah Software engineering. Istilah Software Engineering mulai dipopulerkan pada tahun 1968 pada software engineering Conference yang diselenggarakan oleh NATO. Sebagian orang mengartikan RPL hanya sebatas pada bagaimana membuat program komputer. Padahal ada perbedaan yang mendasar antara perangkat lunak (software) dan program komputer. Download Full
 

[Read More...]


Pengertian Sistem Basis Data



1. Pengertian sistem basis data

SBD merupakan sekumpulan basis data dengan para pemakai yang menggunakan basis data secara bersama-sama, personil yang merancang dan mengelola basis data, teknik-teknik untuk merancang dan mengelola basis data, serta sistem komputer yang mendukungnya.

2. Komponen sistem basis data
Komponen-komponen utama penyusun sistem basis data adalah :
a. Perangkat keras
b. Sistem operasi
c. Basis data
d. Sistem pengelola basis data (DBMS)
e. Pemakai (Programmer, User mahir, user umum, user khusus)

3. Abstraksi data
Sistem basis data biasanya menyembunyikan detil tentang bagaimana data disimpan dan diperlihara. Oleh karena itu, seringkali data yang terlihat oleh pemakai sebenarnya berbeda dengan yang tersimpan secara fisik


Download Full
[Read More...]


Arsitektur Sistem Basis Data



Arsitektur system basis data memberikan kerangka kerja bagi pembangunan basis data.

1.1 LEVEL ARSITEKTUR BASIS DATA
Menurut ANSI/SPARC, arsitektur basis data terbagi atas tiga level yaitu :
Internal/Physical Level:
berhubungan dengan bagaimana data disimpan secara fisik (physical storage)
External /View Level
berhubungan dengan bagaimana data di representasikan dari sisi setiap user.
Conceptual/Logical Level
yang menghubungkan antara internal & external level

Download Full Arsitektur Sistem Basis Data
[Read More...]


Konsep Dasar Sistem Basis Data



Sistem Basis Data adalah suatu sistem menyusun dan mengelola record-record menggunakan computer untuk menyimpan atau merekam serta memelihara data operasional lengkap sebuah organisasi/perusahaan sehingga mampu menyediakan informasi yang optimal yang diperlukan pemakai untuk proses mengambil keputusan. Salah satu cara menyajikan data untuk mempermudah modifikasi adalah dengan cara pemodelan data. Model yang akan dipergunakan pada pelatihan ini adalah Entity Relationship Model.

[Read More...]


Konsep Dasar Sistem Informasi



Konsep Dasar Sistem
Sistem : kumpulan dari elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu.

Menurut Jerry FithGerald : sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau menyelesaikan suatu sasaran tertentu.


Donload Full : http://agungsr.staff.gunadarma.ac.id
                       http://apr1l-si.comuf.com/SI.pdf
[Read More...]


Pengertian Database



Beberapa definisi tentang Database :
1. Menurut Gordon C. Everest :
Database adalah koleksi atau kumpulan data yang mekanis, terbagi/shared, terdefinisi secara formal dan dikontrol terpusat pada organisasi.

2. Menurut C.J. Date :
Database adalah koleksi “data operasional” yang tersimpan dan dipakai oleh sistem aplikasi  dari suatu organisasi.
    -  Data input adalah data yang masuk dari luar sistem
    -  Data output adalah data yang dihasilkan sistem
    -  Data operasional adalah data yang tersimpan pada sistem

3.  Menurut Toni Fabbri :
Database adalah sebuah sistem file-file yang terintegrasi yang mempunyai minimal primary key untuk pengulangan data.

4.  Menurut S. Attre :
Database adalah koleksi data-data yang saling berhubungan mengenai suatu organisasi / enterprise dengan macam-macam pemakaiannya.
   
Jadi SISTEM DATABASE adalah sistem penyimpanan data memakai komputer.

Sifat-sifat database :
  • Internal       :  Kesatuan (integritas) dari file-file yang terlibat.
  • Terbagi/share :  Elemen-elemen database dapat dibagikan pada para user baik secara sendiri-sendiri maupun secara serentak dan pada waktu yang sama (Concurrent sharing).



Download Full about Database 

[Read More...]


Hubungan Data Warehouse Dengan DSS



2.4.1. Definisi Decision Support System

Istilah dari decision support system telah digunakan dengan banyak cara (Alter 1980) dan menerima banyak definisi yang berbeda menurut pandangan dari sang penulis (Druzdzel dan Flynn 1999). Finlay (1994) dan lainnya mendefiniskan DSS kurang lebih sebagai sebuah sistem berbasis komputer yang membantu dalam proses pengambilan keputusan.

Turban (1995) mendefinisikan secara lebih spesifik dengan, sesuatu yang interaktif,flexible dan dapat menyesuaikan diri(adaptable) dari sistem informasi berdasarkan komputer, khususnya pengembangan untuk mendukung pemecahan masalah dari non-struktur management, untuk meningkatkan pengambilan keputusan. Dengan menggunakan data, mendukung antar muka yang mudah digunakan dan memberikan wawasan untuk sang pengambil keputusan.

Definisi lainnya bisa jadi gugur dibandingkan dengan dua pandangan ekstrim berikut, Keen dan Scott Morton (1978), DSS adalah dukungan berdasar kan komputer  untuk para pengambil keputusan management yang berurusan dengan masalah semi-struktur. Sprague dan Carlson (1982), DSS adalah  sistem berdasarkan komputer interaktif yang membantu para pengambil keputusan  menggunakan data dan model-model untuk memecahkan masalah yang tak terstruktur(unstructured problem). Menurut Power (1997), istilah DSS mengingatkan suatu yang berguna dan istilah inklusif untuk banyak jenis sistem informasi yang mendukung pembuatan pengambilan keputusan. Dia dengan penuh humor menambahkan bahwa jika suatu sistem komputer yang bukan OLTP, seseorang akan tergoda untuk menyebutnya sebagai DSS.

Seperti yang kita lihat, DSS memiliki banyak arti dengan maksud yang kurang lebih hampir sama, yaitu suatu sistem komputer yang berguna bagi para pengambil keputusan untuk memecahkan masalah mereka yang kurang lebih berhadapan dengan masalah non-struktur atau semi-struktur.

2.4.2. Hubungan antar DSS dengan Data Warehouse
Setelah kita lihat dan selami tentang data warehouse, kita dapat menyimpulkan bahwa data warehouse adalah sebuah model database yang berguna untuk menyimpan dan memproses data dengan pendekatan kepada kegunaan data dalam pengambilan keputusan bagi EIS atau DSS.
Sebuah DSS (tergantung dengan yang disupport-nya)membutuhkan data warehouse agar dapat menjalankan kerjanya dengan baik. Dan memang data warehouse sendiri dibangun untuk memenuhi kebutuhan DSS.

2.4.3. Contoh Data Warehouse Yang Ada

Contoh dari data warehouse yang digunakan bersamaan dengan DSS, misalkan saja pegawai peminjaman bank memverikasi data peminta pinjaman atau suatu perusahaan engineer melakukan tawar menawar dalam beberapa project dan ingin tahu jika dia bisa kompetitive dalam harga terhadap para pesaingnya.

Contoh yang lain masih lebih banyak lagi, yang kesemuanya membutuhkan kecepatan dalam pengambilan keputusan dan kemudahan dalam penggunaannya.



Sumber : http://myhut.org
[Read More...]


Membangun Data Warehouse



2.3.1. Menentukan Bentuk Data Warehouse

Data warehouse memiliki berbagai macam bentuk yang  sering digunakan. Jadi sebelum membangun suatu data warehouse kita harus memutuskan bentuk data warehouse seperti apa yang dibutuhkan oleh aplikasi yang kita rancang.

2.3.2. Anatomi Data Warehouse
Penerapan awal dari arsitektur data warehouse dibuat berdasarkan konsep bahwa data warehouse mengambil data dari berbagai sumber dan memindahkannya ke dalam pusat pengumpulan data yang besar. Konsep ini sebenarnya lebih cenderung kepada sebuah lingkungan mainframe yang terpusat.

Keunggulan teknologi Client Server memungkinkan data warehouse diterapkan dalam berbagai macam cara untuk menampung kebutuhan pemakai sistem secara lebih proposional. Dalam suatu kasus, misalkan saja pemakai tertentu perlu menggabungkan data dari sebuah sistem pengumpulan data yang statis dengan data dari sistem operasional yang dinamis hanya dengan sebuah query saja.

Berikut ini adalah tiga jenis dasar sistem Data Warehouse :
1. Functional Data Warehouse (Data Warehouse Fungsional)
Kata operasional disini merupakan database yang diperoleh dari kegiatan sehari-hari. Data warehouse dibuat lebih dari satu dan dikelompokkan berdasar fungsi-fungsi yang ada di dalam perusahaan seperti fungsi keuangan(financial),marketing,personalia dan lain-lain.

Keuntungan dari bentuk data warehouse seperti ini adalah, sistem mudah dibangun dengan biaya relatif murah sedangkan kerugiannya adalah resiko kehilangan konsistensi data dan terbatasnya kemampuan dalam pengumpulan data bagi pengguna.

Gambar 2.3.1 Bentuk data warehouse fungsional

2. Centralized Datawarehouse (Data Warehouse Terpusat)
Bentuk ini terlihat seperti bentuk data warehouse fungsional, namun terlebih dahulu sumber data dikumpulkan dalam satu tempat terpusat, kemudian data disebar ke dalam fungsinya masing-masing, sesuai kebutuhan persuhaan. Data warehouse terpusat ini, biasa digunakan oleh perusahaan yang belum memiliki jaringan eksternal.

Keuntungan dari bentuk ini adalah data benar-benar terpadu karena konsistensinya yang tinggi sedang kerugiannya adalah biaya yang mahal serta memerlukan waktu yang cukup lama untuk membangunnya.

GAmbar 2.3.2 Bentuk data warehouse terpusat

3. Distributed Data Warehouse (Data Warehouse terdistribusi)
Pada data warehouse terdistribusi ini, digunakan gateway yang berfungsi sebagai jembatan penghubung antara data warehouse dengan workstation yang menggunakan sistem beraneka ragam. Dengan sistem terdistribusi seperti ini memungkinkan perusahaan dapat mengakses sumber data yang berada diluar lokasi perusahaan(eksternal).

Keuntungannya adalah data tetap konsisten karena sebelum data digunakan data terlebih dahulu di sesuaikan atau mengalami proses sinkronisasi. Sedangkan kerugiannya adalah lebih kompleks untuk diterapkan karena sistem operasi dikelola secara terpisah juga biaya nya yang paling mahal dibandingkan dengan dua bentuk data warehouse lainya.

Gambar 2.3.3. Bentuk Data Warehouse Terdistribusi

2.3.3 Arsitektur dan Infrastruktur Data Warehouse

2.3.3.1. Arsitekur Data Warehouse
Menurut Poe, arsitektur adalah sekumpulan atau struktur yang memberikan kerangka untuk keseluruhan rancangan suatu sistem atau produk.    Ada arsitektur client-server,arsitektur networking  dan masih banyak arsitektur lainnya. Arsitektur data menyediakan kerangka dengan mengidentifikasikan dan memahami bagaimana data akan pindah melalui sistem dan digunakan dalam perusahaan. Arsitektur data untuk data warehouse mempunyai komponen utama yaitu read-only database.

Karakterisitik arsitektur data warehouse (Poe) :
  1. Data diambil dari sistem asal (sistem informasi yang ada), database dan file.
  2. Data dari sistem asal diintegrasikan dan ditransformasi sebelum disimpan ke dalam Database Management System (DBMS) seperti Oracle,Ms SQL Server, Sybase dan masih banyak yang lainnya.
  3. Data warehouse merupakan sebuah database terpisah bersifat hanya dapat dibaca  yang dibuat khusus untuk mendukung pengambilan keputusan
  4. Pemakai mengakses data warehouse melalui aplikasi front end tool
Arsitektur dan komponen utama dari data warehouse dapat dilihat pada gambar berikut ini :
Gambar 2.3.4 Arsitektur Data Warehouse
Sumber : Conolly,T.M.,Begg

a. Operational Data
Sumber data dari data warehouse dapat diambil langsung dari mainframe, basis data relasional seperti Oracle, Ms SQL server dan sebagainya. Selain itu dapat melaluo Operational Data Source(ODS). ODS menampung data yang diekstrak dari sistem utama atau sumber-sumber data yang ada dan kemudian data hasil ekstrasi tersebut dibersihkan.

b. Load manager
Load manager  juga disebut sebagai komponen front-end  yang bertugas melakukan seluruh operasi yang berhubungan dengan ekstrasi dan me-load data ke warehouse.

c. Warehouse Manager
Warehouse manager melakukan seluruh operasi-operasi yang berhubungan dengan kegiatan manajemen data di dalam warehouse. Operasi-operasi tersebut meliputi :
  • Analisis terhadap data untuk memastikan konsistensi
  • Transformasi dan penggabungan sumber data dari tempat penyimpanan sementara menjadi tabel-tabel data warehouse.
  • Penciptaan indeks-indeks dan view berdasarkan tabel-tabel dasar
  • Melakukan denormalisasi dan agregasi jika diperlukan
  • Backing-Up dan mengarsipkan data
d. Query manager
Query manager juga disebut komponen back-end, melakukan operasi-operasi yang berhubungan dengan manajemen user queries. Operasi-operasi yang dilakukan oleh komponen ini termasuk mengarahkan query kepada tabel-tabel yang tepat dan menjadwalkan eksekusi dari query tersebut.

e. End-user Access Tools
Prinsip atau tujuan utama dari dibangunnya data warehouse adalah untuk menyediakan informasi bisnis kepada user-user  untuk dapat melakukan pengambilan keputusan secara cepat dan tepat.User  ini berinteraksi dengan warehouse melalui end-user access tools. Data warehouse  harus secara efisien mendukung secara khusus kebutuhan user serta secara rutin melakukan analisis. Performa yang baik dapat dicapai dengan merencanakan dahulu keperluan-keperluan untuk melakukan joins,summations dan laporan-laporan per periode dengan end-users.

Berdasarkan kategori yang dikemukakan oleh Berson dan Smith terdapat lima grup utama dari tools tersebut, antara lain :
1.    Reporting and query tools
2.    Application development tools
3.    Executive information System (EIS) tools
4.    Online Analytical Processing (OLAP) tools
5.    Data mining tools

Arsitektur dan infrastruktur dari data warehouse sangat erat hubungannya dan satu dengan lainnya saling berkaitan.

2.3.3.2 Infrastruktur Data Warehouse
Infrastruktur data warehouse adalah software, hardware, pelatihan dan komponen-komponen lainnya yang memberikan dukungan yang dibutuhkan untuk mengimplementasikan data warehouse(Poe).

Salah satu instrumen yang mempengaruhi keberhasilan pengembangan data warehouse adalah pengidentifikasian arsitektur mana yang terbaik dan infrasruktur apa yang dibutuhkan. Arsitektur yang sama, mungkin memerlukan infrastruktur yang berbeda, tergantung pada lingkunan perusahaan ataupun organisasi.

2.3.4. Struktur Data Warehouse

Seperti yang kita lihat sebelumnya pada arsitektur data warehouse, ada beberapa struktur yang spesifik terdapat pada bagian warehouse manager. Bagian tersebut merupakan struktur data warehouse.

Menurut Poe, Vidette, data warehouse memiliki struktur yang spesifik dan  mempunyai perbedaan dalam tingkatan detail data  dan umur data.

 Gambar 2.3.5 Metadata

Komponen dari struktur data warehouse adalah:

1. Current detail data
Current detail data merupakan data detil yang aktif saat ini,mencerminkan keadaan yang sedang berjalan dan merupakan level terendah dalam data warehouse. Didalam area ini warehouse menyimpan seluruh detail data yang terdapat pada skema basis data. Jumlah data sangat besar sehingga memerlukan storage yang besar pula dan dapat diakses secara cepat. Dampak negatif yang ditimbulkan adalah kerumitan untuk mengatur data menjadi meningkat dan biaya yang diperlukan menjadi mahal.

Berikut ini beberapa alasan mengapa current detail data menjadi perhatian utama :
  1. Menggambarkan kejadian yang baru terjadi dan selalu menjadi perhatian utama
  2. Sangat banyak jumlahnya dan disimpan pada tingkat penyimpanan terendah.
  3. Hampir selalu disimpan dalam storage karena cepat di akses  tetapi mahal dan kompleks dalam pengaturannya.
  4. Bisa digunakan dalam membuat rekapitulasi sehingga current detail data  harus akurat.
 2. Older detail data
Data ini merupakan data historis dari current detail data, dapat berupa hasil cadangan atau archive data yang disimpan dalam storage terpisah. Karena bersifat back-up(cadangan), maka biasanya data disimpan dalam storage alternatif seperti tape-desk.
Data ini biasanya memilki tingkat frekuensi akses yang rendah. Penyusunan file atau directory dari data ini di susun berdasarkan umur dari data yang bertujuan mempermudah untuk pencarian atau pengaksesan kembali.

3. Lighlty summarized data
Data ini merupakan ringkasan atau rangkuman dari current detail data. Data ini dirangkum berdasar periode atau dimensi lainnya sesuai dengan kebutuhan.
Ringkasan dari current detail data  belum bersifat total summary.Data-data ini memiliki detil tingkatan yang lebih tinggi dan mendukung kebutuhan warehouse pada tingkat departemen. Tingkatan data ini di sebut juga dengan data mart. Akses terhadap data jenis ini banyak  digunakan untuk view suatu kondisi yang sedang atau sudah berjalan.

3. Highly summarized data
Data ini merupakan tingkat lanjutan dari Lightly summarized data, merupakan hasil ringkasan yang bersifat totalitas, dapat di akses misal untuk melakukan analisis perbandingan data berdasarkan urutan waktu tertentu dan analisis menggunakan data multidimensi. 

4. Metadata
Metadata bukan merupakan data hasil kegiatan seperti keempat jenis data diatas. Menurut Poe, metadata adalah ‘data tentang data’ dan menyediakan informasi tentang struktur data dan hubungan antara struktur data di dalam atau antara storage(tempat penyimpanan data).

Metadata berisikan data yang menyimpan proses perpindahan data meliputi database structure,contents,detail data dan summary data, matrics,versioning, aging criteria,versioning, transformation criteria. Metadata khusus dan memegang peranan yang sangat penting  dalam data warehouse.

Metadata sendiri mengandung :
a. Struktur data
Sebuah direktori yang membantu user untuk melakukan analisis Decission Support System dalam pencarian letak/lokasi dalam data warehouse.
b. Algoritma
Algoritma digunakan untuk summary data. Metadata sendiri merupakan panduan untuk algoritma dalam melakukan pemrosesan summary data antara current detail data dengan lightly summarized data dan antara lightly summarized data dengan hightly summaried data.
c. Mapping   
Sebagai panduan pemetaan(mapping) data pada saat data di transform/diubah dari lingkup operasional menjadi lingkup data warehouse.

2.3.5 Metodologi Perancangan Database untuk Data Warehouse

Menurut Kimball ada sembilan tahap metodologi dalam perancangan database untuk data warehouse, yaitu :

Langkah 1 : Pemilihan proses
  • Data mart yang pertama kali dibangun haruslah data mart yang dapat dikirim tepat waktu dan dapat menjawab semua pertanyaan bisnis yang penting
  • Pilihan terbaik untuk data mart yang pertama adalah yang berhubungan dengan sales, misal property sales, property leasing,property advertising.
Langkah 2 : Pemilihan sumber
  • Untuk memutuskan secara pasti apa yang diwakili atau direpresentasikan oleh sebuah tabel fakta.
  • Misal, jika sumber dari sebuah tabel fakta properti sale adalah properti sale individual maka sumber dari sebuah dimensi pelanggan berisi rincian pelanggan yang membeli properti utama
Langkah 3 : Mengidentifikasi dimensi
  • Set dimensi yang dibangun dengan baik, memberikan kemudahan untuk memahami dan menggunakan data mart
  • Dimensi ini penting untuk menggambarkan fakta-fakta yang terdapat pada tabel fakta
  • Misal, setiap data pelanggan pada tabel dimensi pembeli dilengkapi dengan id_pelanggan,no_pelanggan,tipe_pelanggan,tempat_tinggal, dan lain sebagainya.
  • Jika ada dimensi yang muncul pada dua data mart,kedua data mart tersebut harus berdimensi sama,atau paling tidak salah satunya berupa subset matematis dari yang lainnya.
  • Jika sebuah dimensi digunakan pada dua data mart atau lebih,dan dimensi ini tidak disinkronisasi,maka keseluruhan data warehouse akan gagal, karena dua data mart tidak bisa digunakan secara bersama-sama
Langkah 4 : Pemilihan fakta
  • Sumber dari sebuah tabel fakta menentukan fakta mana yang bisa digunakan dalam data mart.
  • Semua fakta harus diekspresikan pada tingkat yang telah ditentukan oleh sumber
Langkah 5 : Menyimpan pre-kalkulasi di tabel fakta
  • Hal ini terjadi apabila fakta kehilangan statement
Langkah 6 : Melengkapi tabel dimensi
  • Pada tahap ini kita menambahkan keterangan selengkap-lengkapnya pada tabel dimensi
  • Keterangannya harus bersifat intuitif dan mudah dipahami oleh pengguna
Langkah 7 : Pemilihan durasi database
  • Misalnya pada suatu perusahaan asuransi, mengharuskan data disimpan selama 10 tahun atau lebih
Langkah 8 : Menelusuri perubahan dimensi yang perlahan
  • Ada tiga tipe perubahan dimensi yang perlahan, yaitu :
  1. Tipe 1. Atribut dimensi yang telah berubah tertulis ulang
  2. Tipe 2. Atribut dimensi yang telah berubah menimbulkan sebuah dimensi baru
  3. Tipe 3. Atribut dimensi yang telah berubah menimbulkan alternatif sehingga nilai atribut lama dan yang baru dapat diakses secara bersama pada dimensi yang sama.
Langkah 9 : Menentukan prioritas dan mode query
  • Pada tahap ini kita menggunakan perancangan fisik.
Dengan langkah-langkah tadi, seharusnya kita bisa membangun sebuah data warehouse yang baik.


2.3.6. Model untuk Data Warehouse

Berikut di bawah ini adalah penjelasan dari model untuk data warehouse

2.3.6.1. Model Dimensional
Model dimensional merupakan rancangan logikal yang bertujuan untuk menampilkan data dalam bentuk standar dan intuitif yang memperbolehkan akses dengan performa yang tinggi.

Model dimensional menggunakan konsep model hubungan antar entity (ER) dengan beberapa batasan yang penting. Setiap model dimensi terdiri dari sebuah tabel dengan sebuah komposit primary key,  disebut dengan table fakta, dan satu set table yang lebih kecil disebut table dimensi. Setiap table dimensi memiliki sebuah simple primary key  yang merespon tepat pada satu komponen primary key pada tabel fakta. Dengan kata lain primary key  pada table fakta terdiri dari dua atau lebih foreign key. Struktur karakteristik ini disebut dengan skema bintang atau join bintang.

Fitur terpenting dalam model dimensional ini adalah semua natural keys diganti dengan kunci pengganti(surrogate keys). Maksudnya yaitu setiap kali join antar table fakta dengan table dimensi selalu didasari kunci pengganti. Kegunaan dari kunci pengganti adalah memperbolehkan data pada data warehouse untuk memiliki beberapa kebebasan dalam penggunaan data, tidak seperti halnya yang diproduksi oleh sistem OLTP.

Sebuah sistem OLTP memerlukan normalisasi untuk mengurangi redudansi, validasi untuk input data, mendukung volume yang besar dari transaksi yang bergerak sangat cepat. Model OLTP sering terlihat seperti jaring laba-laba yang terdiri atas ratusan bahkan ribuan tabel sehingga sulit untuk dimengerti.

Sebaliknya, dimension model yang sering digunakan pada data warehouse adalah skema bintang atau snowflake yang mudah dimengerti dan sesuai dengan kebutuhan bisnis, mendukung query  sederhana dan menyediakan performa query yang superior dengan meminimalisasi tabel-tabel join. Berikut contoh perbandingan diagram antara model data OLTP dengan dimension table data warehouse :
  
Gambar 2.3.6 Model Data OLTP
Gambar 2.3.7 Dimension Model

2.3.6.1.1. Schema Bintang
Skema bintang merupakan struktuk logikal yang memiliki tabel fakta yang terdiri atas data faktual ditengahnya, dan dikelilingi oleh tabel-tabel dimensi yang berisi referensi data.

Jenis-jenis Skema Bintang
1.    Skema bintang sederhana   
Dalam skema ini, setiap table harus memiliki primary key yang terdiri dari satu kolom atau lebih.

Primary key dari table fakta terdiri dari satu atau lebih foreign key.Foreign key merupakan primary key pada table 
 
1.    Skema bintang dengan banyak table fakta

Skema bintang juga bisa terdiri dari satu atau lebih table fakta. Dikarenakan karena table fakta tersebut ada banyak, misalnya disamping penjualan terdapat table fakta forecasting dan result. Walaupun terdapat lebih dari satu table fakta, mereka tetap menggunakan table dimensi bersama-sama.

Adapun ketentuan dalam pembacaan skema bintang adalah :
  • Bagian yang ada di bawah judul tabel merupakan kolom-kolom tabel tersebut
  • Primary key dan Foreign key diberi kotak
  • Primary key diarsir sedang Foreign key yang bukan primary tidak
  • Foreign key yang berhubungan ditunjukkan dengan garis yang menghubungkan tabel.

Kolom yang bukan kunci disebut kolom data pada table fakta dan atribut pada table dimensi

2.3.6.1.2 Snowflake Schema
Merupakan varian dari skema bintang dimana table-table dimensi tidak terdapat data yang di denormalisasi. Dengan kata lain satu atau lebih table dimensi tidak bergabung secara langsung kepada table fakta tapi pada table dimensi lainnya.  Sebagai contoh, sebuah dimensi yang mendeskripsikan produk dapat dipisahkan menjadi tiga table (snowflaked) seperti contoh dibawah ini :

Snowflake Schemes

2.3.6.1.3. Star atau Snowflake
Keduanya merupakan model-model dimensional, perbedaannya terletak pada implementasi fisikal. Skema snowflake memberi kemudahan pada perawatan dimensi, dikarenakan strukturnya yang lebih normalisasi. Sedangkan skema bintang lebih efisien serta sederhana dalam membuat query dan mudah  diakses secara langsung oleh pengguna.

Adapun starflake merupakan gabungan diantara keduanya. Keuntungan menggunakan masing-masing model tersebut dalam data warehouse antara lain :
  • Efisien dalam hal mengakses data
  • Dapat beradaptasi terhadap kebutuhan-kebutuhan user
  • Bersifat fleksibel terhadap perubahan yang terjadi khususnya perubahan yang mengarah pada  perkembangan
  • Memiliki kemampuan dalam memodelkan situasi bisnis secara umum
  • Meskipun skema yang dihasilkan sangat kompleks, tetapi pemrosesan query dapat diperkirakan, hal ini dikarenakan pada level terendah, setiap table fakta harus di query secara independen.




Sumber : http://myhut.org

[Read More...]


Return to top of page Copyright © 2011 | Platinum Theme Converted into Blogger Template by Hack Tutors