searching array

Posted: 2 June 2010 in Terbaru

SEARCHING ARRAY

Dalam modul ini akan dibahas proses pencarian / searching data pada suatu array / barisan data. Jika diketahui ada sebuah array / barisan data bernama A yang menampung 10 data yang bertipe integer sbb A={1,2,3,4,8,5,7,9,6,0} dan kita diberi tugas untuk mencari beberapa data misal:
• Jika data yang akan dicari dalam array A adalah 6, maka dengan cepat dapat kita ketahui bahwa data 6 ada dalam array A pada index ke-9 (index pada array dimulai dari 0)
• Sedangkan jika data yang akan dicari dalam array A adalah 12, maka dapat disimpulkan bahwa array A tidak memiliki data 12 tersebut.
Sesudah memahami proses pencarian data yang sederhana tersebut dalam pikiran kita, sekarang permasalahannya adalah bagaimana mengimplementasikannya kedalam program ?.
Pada umumnya dikenal dua metode searching antara lain : Sequensial search dan binary search, Untuk lebih memahami, dimulai dari metode yang paling sederhana terlebih dahulu yaitu sequensial search.

Sequensial search
Disebut juga sebagai metode pencarian urut adalah metode pencarian yang paling mudah.
Sequential search memiliki proses sebagai berikut:
• Tentukan banyaknya data yang akan di olah, misal banyak data adalah N.
• Tentukan data apa yang akan dicari, misal data yang akan dicari adalah C.
• Deklarasikan sebuah counter untuk menghitung banyak data yang ditemukan, missal counternya adalah K.
• Inisialisasikan K =0
• Lakukanlah perulangan sebanyak N kali
• Dalam tiap proses perulangan tersebut periksalah apakah data yang sedang diolah sama dengan data yang dicari.
• Jika ternyata sama K=K+1
• Jika tidak, lanjutkan proses perulangan .
• Setelah proses perulangan berhenti, periksalah nilai K.
• Jika nilai K lebih dari 0, artinya data yang dicari ada dalam data /array dan tampilkan nilai K ke layer sebagai jumlah data yang ditemukan.
• Jika nilai K=0, artinya data yang dicari tidak ditemukan dalam data / array dan tampilkan ke layar bahwa data tidak ditemukan
• Proses selesai.

Dapat disimpulkan bahwa sequential search, akan mencari data dengan cara membandingkannya satu-persatu dengan data yang ada. Prosesnya tentu saja akan singkat jika data yang diolah sedikit, dan akan lama jika data yang diolah banyak. Disarankan proses ini digunakan pada jumlah data yang sedikit saja.

Coding Program Sequential Search untuk dicoba

GAMBARAN KERJA
Pada program diatas jumlah data yang akan diolah berjumlah 10 data dan disimpan kedalam array A[10] yang bejenis integer, array index[10] digunakan untuk mencatat index pada array A dimana data ditemukan daya tampung array sama dengan array A karena ada kemungkinan data yang akan dicari adalah semua data yang ada dalam array A. sedangkan variable I digunakan sebagai counter dalam proses perulangan, variable j digunakan sebagai counter untuk menghitung jumlah data yang ditemukan dan variable k digunakan untuk menyimpan data yang akan dicari.

Proses pertama adalah memasukkan data-data yang akan diolah ke dalam array A dan data yang akan dicari ke dalam variable K. setelah itu akan dilakukan perulangan sebanyak data yang ada dalam array A untuk mencari apakah ada data dalam variable K didalam array A, jika ada maka counter j akan mencatat jumlahnya dan array index akan mencatat pada index ke berapa data tersebut ditemukan. Setelah proses perulangan selesai, tampilkanlah hasil yang terdapat pada variable j dan array index ke layer.

Read the rest of this entry »

Penjadualan pada prosesor

Posted: 25 October 2010 in terbaik

Penjadualan Pada Prosesor Tunggal

sebelum kita membahas masalah penjadualan pada prosesor tunggal kita harus tau mengapa dalam prosesor tunggal harus ada penjadualannya?

– Supaya setiap proses dapat dilayani secara adil

– Agar tidak terjadi starvation

– Supaya efisien dalam penggunaan waktu prosesor

– Agar dapat meminimalkan terjadinya overhead

– Supaya response time dapat terpenuhi

– Supaya dapat memaksimalkan throughput .

• Jenis-jenis penjadualan

– Penjadualan jangka panjang (long-term)

✔     Adalah keputusan untuk menambah suatu proses ke kelompok proses yang akan dieksekusi

✔     Terjadi pada saat suatu proses baru diciptakan (lokasinya masih di dalam harddisk)

✔     Frekuensi dilakukannya lebih jarang daripada medium-term scheduling

✔     Membuat perkiraan kasar (coarse-grained) dalam menambahkan suatu proses

– Penjadualan jangka menengah (medium-term)

✔  Adalah keputusan untuk menambahkan sejumlah proses (sebagian atau seluruhnya) ke dalam main memory

✔  Terjadi pada saat swapping

✔  Keputusan untuk melakukan swapping menentukan derajat multiprogramming

✔  Freku dibahas pada materi tentang Proses, Manajemen memori, dan Memori virtual

– Penjadualan jangka pendek (short-term)

✔  Adalah keputusan untuk memilih proses mana yang akan dieksekusi diantara sejumlah proses yang sudah siap dieksekusi

✔  Sangat sering dilakukan Disebut juga dispatcher (yang bertugas untuk mengirimkan job)

✔  Membuat perkiraan halus (fine-grained) dalam memutuskan proses yang akan dieksekusi

– Short-term scheduling dilakukan bila terjadi event seperti

misalnya: Clock interrupts, I/O interrupts Signals (misal: semaphore), Pemanggilan ke sistem operasi (system call)

– Penjadualan I/O

✔  Keputusan untuk memilih proses mana yang akan diberi kesempatan untuk menggunakan I/O device diantara sejumlah proses yang sama-sama akan menggunakan I/O device tersebut

✔  Dibahas pada materi Manajemen I/O

– Letak penjadualan

✔              Letak penjadualan pada status proses

✔  tingkatan penjadualan

Penjadualan pada diagram antrian

• Algoritma penjadualan

– Kriteria penjadualan jangka pendek (short-term)

✔  Ada 4 macam kriteria penjadualan jangka pendek:

✗  User-oriented : Karakteristik sistem dilihat dari sudut pandang user atau proses

✗  System-oriented : Karakteristik sistem dilihat dari sisi efektifitas dan utilitas penggunaan prosesor

✗  Performance-related : Karakteristik sistem dinilai dengan menggunakan parameter yang kuantitatif (terukur)

✗  Not-performance-related : Karakteristik sistem dinilai dengan menggunakan parameter yang kualitatif (tidak dapat diukur dan dianalisis)

✔  Kombinasi kriteria penjadualan yang dapat terjadi:

✗  User-oriented, Performance-related.

✗  User-oriented, Not-performance-related.

✗  System-oriented, Performance-related.

✗  System-oriented, Not-performance-related.

✔  Parameter pada User oriented, Performance related .

✗  Turnaround time: Merupakan interval waktu sejak suatu proses masuk ke sistem hingga selesai dieksekusi.

✗  Response time: Adalah waktu yang diperlukan sejak suatu permintaan (request) dikirimkan oleh suatu proses hingga response terhadap request tersebut diperoleh Merupakan parameter yang lebih baik dibanding turnaround time dari sisi user

Contoh:

Suatu sistem interaktif dirancang dapat memberikan layanan yang baik bagi user bila response time-nya tidak lebih dari 2 detik. Maka tugas utama scheduling adalah memaksimalkan jumlah user yang menerima response time rata-rata 2 detik atau kurang

✗  Deadline: Merupakan batas akhir suatu proses sudah harus selesai Proses yang sudah mendekati deadline lebih diutamakan, agar prosentase pemenuhan deadline dapat diperoleh secara maksimal .

✔  Parameter pada User oriented, Non- performance related

✗  Predictability: Layanan terhadap user dari waktu ke waktu tetap sama dan tidak terpengaruh dengan apa yang dilakukan oleh sistem Sebuah job akan dieksekusi dalam periode yang relatif sama dan dengan biaya yang sama tanpa dipengaruhi kondisi beban sistem Jika waktu eksekusi dan biaya yang diperlukan berubah-ubah akan membingungkan user, sehingga kestabilan sistem rendah

✔  Parameter pada System oriented, Performance related

✗  Throughput: Adalah jumlah proses yang dapat diselesaikan dalam periode waktu tertentu Semakin banyak semakin baik Nilainya bergantung pada panjang proses rata-rata  dan metode scheduling yang digunakan

✗  Processor utilization: Merupakan prosentase waktu dimana prosesor sibuk Nilainya sangat berarti pada shared system . Nilainya kurang penting pada sistem user tunggal (misal sistem real-time)

✔  System oriented, Non-performance related

✗  Fairness: Adalah nilai ‘keadilan’ (kesetaraan) perlakuan sistem scheduling terhadap setiap proses, agar tidak terjadi starvation

✗  Enforcing priorities: Scheduling harus lebih mengutamakan proses yang mempunyai prioritas lebih tinggi

✗  Balancing resources: Scheduling harus dapat menjaga keseimbangan dalam penggunaan resource .

– Penjadualan dengan prioritas

✔  Setiap proses diberi nomor prioritas yang nilainya dapat sama atau berbeda

✔  Scheduler selalu memilih proses yang mempunyai prioritas paling tinggi

✔  Digunakan beberapa antrian untuk menangani antrian proses dengan prioritas berbeda-beda

✔  Proses dalam antrian dengan prioritas lebih rendah baru akan dieksekusi jika semua proses dalam antrian yang lebih tinggi telah dieksekusi

✔  Nomor prioritas:

✗  Pada sistem Unix semakin tinggi angka prioritas, maka prioritasnya semakin rendah. Prioritas nomor 0 merupakan prioritas tertinggi

✗  Pada sistem Windows berlaku kebalikannya

✗  Dalam perkuliahan ini digunakan penomoran prioritas model Unix

✔  Kelemahan model prioritas:

✗    Proses dengan prioritas rendah dapat mengalami starvation

✗    Solusi: Prioritas suatu proses dapat berubah berdasarkan waktu atau history-nya .

Antrian prioritas:

✔  Pada gambar di atas hanya digambarkan sebuah blocked queue

– Penjadualan alternatif

Parameter-parameter pada penjadualan alternatif

✔  Selection function

✗  Decision mode: Nonpreemptive , Preemptive

✗  Service time

✗  Turnaround Time (TAT)

✗  Normalized Turnaround Time (NTAT)

✗  Selection function

✗  Decision mode

✔  First-Come-First-Served (FCFS)

✗  Algoritma

– Proses yang datang pertama yang dieksekusi

– Proses yang berada di antrian ready paling lama yang dieksekusi

✗  Disebut juga algoritma FIFO (First In First Out)

✗  Kelebihan:

(+) Merupakan metode scheduling paling sederhana

(+) Overhead kecil

(+) Dapat mencegah starvation

✗  Karakteristik FCFS

✗  w = waktu untuk menunggu

✗  Kekurangan:

(-) Proses yang pendek dapat dirugikan, bila urutan eksekusinya setelah proses yang panjang

(-) FCFS cenderung menguntungkan proses processor-bound dibanding proses I/O-bound

Solusi: gabungkan dengan model prioritas

✔  Round Robin (RR)

✗  Algoritma:

– Eksekusi proses diatur berdasarkan alokasi waktu tertentu (slot waktu) yang diatur dengan clock interrupt .

✗  Clock interrupt terjadi secara periodik

✗  Setiap satu slot waktu mempunyai ukuran yang sama (disebut teknik time slicing)

✗  Bila terjadi clock interrupt, maka:

– Proses yang sedang running dimasukkan ke dalam antrian ready

– Proses di antrian ready paling depan dieksekusi

✗  Karakteristik RR

✗  Kekurangan:

(-) Performansinya lebih buruk dibanding FCFS jika ukuran slot lebih besar daripada ukuran

proses terbesar.

(-) Dapat terjadi overhead berlebihan jika ukuran setiap slot (slice) terlalu kecil (lihat

halaman selanjutnya)

(-) Proses I/O bound mendapatkan waktu layanan lebih sedikit

Solusi:

Round robin dimodifikasi menjadi Virtual Round Robin (VRR) dengan menambahkan sebuah antrian yang  disebut antrian auxiliary

✗  Kelebihan Round Robin:

(+) Dapat menghindari ketidakadilan layanan terhadap proses kecil seperti yang terjadi pada

FCFS

(+) Response time lebih cepat untuk proses berukuran kecil

(+) Dapat mencegah starvation

(+) Overhead kecil, jika ukuran proses rata-rata lebih kecil dibanding ukuran quantum/slot

✔  Shortest Process Next (SPN)

✗  Algoritma:

Eksekusi proses diatur berdasarkan perkiraan ukuran proses terkecil

Proses yang datang belakangan langsung berada pada antrian proses terdepan bila ukurannya paling kecil

✗  Kelebihan:

(+) Dapat mencegah kerugian yang dialami proses kecil seperti pada FCFS

(+) Throughput tinggi

(+) Proses kecil mempunyai response time kecil

✗  Kekurangan:

(-) Scheduler harus mengetahui/memperkirakan ukuran setiap proses yang akan dieksekusi

(-) Proses besar dapat mengalami starvation

(-) Overhead bisa tinggi

✗  Karakteristik SPN

✔  Shortest Remaining Time (SRT)

Algoritma:

✗  Eksekusi proses diatur berdasarkan perkiraan sisa waktu terkecil

✗  Proses yang baru masuk dapat langsung  dieksekusi bila total waktu eksekusinya lebih kecil daripada sisa waktu proses yang  sedang running

✔  Merupakan model preemptive-nya SPN

✔  Kapan pemilihan proses yang akan ndieksekusi dilakukan ?

– Bila ada proses baru yang masuk, atau

– Bila proses yang sedang running telah selesai

✗  Kekurangan:

(-) Terjadi overhead akibat scheduler harus menghitung/memperkirakan sisa waktu eksekusi

setiap proses untuk menentukan sisa waktu yang terkecil

(-) Dapat terjadi starvation pada proses yang panjang

(-) Proses yang panjang dikalahkan oleh proses yang kecil

✗  Kelebihan:

(+) Kualitas layanan rata-rata yang diterima proses lebih baik (jumlah proses yang

memperoleh nilai NTAT = 1 lebih banyak)

(+) Throughput tinggi

(+) Response time cepat

✔  Highest Response Ratio Next (HRRN)

✔  Feedback (FB)

– Perbandingan performansi

✔  Analisis antrian

✔  Model Simulasi

– Penjadualan fair-share

✔  User’s application runs as a collection  of processes (threads)

✔  User is concerned about the  performance of the application

✔  Need to make scheduling decisions  based on process sets
Traditional UNIX Scheduling

✗  Multilevel feedback using round robin within each of the priority queues

✗  If a running process does not block or  complete within 1 second, it is  preempted

✗  Priorities are recomputed once per  second

✗  Base priority divides all processes into fixed bands of priority levels

✔  Bands

✗  Decreasing order of priority

– Swapper

– Block I/O device control

– File manipulation

– Character I/O device control

– User processes

Tugas_SISOP1

Posted: 12 October 2010 in terbaik

TUGAS

RINGKASAN SISTEM OPERASI

Nama : Suwardiwansyah

NIM : 09102209

Mata Kuliah : Sistem Operasi

STIKI INDONESIA

SISTEM OPERASI

Sistem operasi adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah kata dan browser web.

Kemampuan yang harus di miliki system operasi tersebut adalah :

Memeberikan rasa nyaman kepada user

Mengatur resource komputer lebih efisien

Dapat dikembangkan atau dapat menambah fungsi atau layanan baru tanpa mengganggu layanan yang lain

Sistem Operasi sebagai Interface Interface antara dan Komputer

Layanan yang dapat disediakan oleh Sistem Operasi adalah:

Mendukung pengembangan suatu program yaitu menyediakan fasilitas dan layanan (program utility) untuk pengembangan program aplikasi, misal: editor dan debugger

Meng-eksekusi suatu program, meload data dan instruksi ke memori dan inisialisasi I/O device resource lain dan mengatur penjadualan pengeksekusian program

Menyediakan akses ke I/O device dan OS menyediakan interface yang seragam untuk berbagai jenis I/O device yang berbeda dengan cara menyembunyikan detail I/O tsb, Programmer cukup menggunakan perintah read dan write sederhana

mengatur akses terhadap file (read, write, hide)

OS dapat mengontrol resource dan data dari user yang tidak berhak dan mencegah terjadinya rebutan resource

Menyediakan data-data accounting seperti mengumpulkan statistik penggunaan resource untuk keperluan penagihan (jika terdapat multi user) dan memonitor parameter performansi (misal response time) untuk perbaikan selanjutnya.

Men-deteksi kesalahan/error misal:

Memory error

Device failure

Kesalahan S/W, misal:

Arithmetic overflow

Pembagian dengan nol

Akses ke lokasi memori terlarang

Kegagalan OS memenuhi request dari program aplikasi (time out)

OS dapat memberikan respons terhadap error yang terjadi dengan efek seminimal mungkin terhadap aplikasi yang sedang berjalan dengan cara:

Hentikan program penyebab error

Mencoba kembali (retry)

Hanya berupa laporan telah terjad

Sistem Operasi Ber- evolusi

Supaya dapat memanfaatkan kemajuan di bidang teknologi H/W sehingga dapat melayani pengaturan memori model paging. H/W monitor telah berkembang sehingga dapat menampilkan informasi secara grafis (tidak hanya mode teks). Ada penambahan layanan baru Misal: penambahan tool baru yang dapat meningkatkan performansi OS dan Koreksi terhadap kesalahan/bug

Evolusi Sistem Operasi

Serialrus mengakses mesin (komputer) secara langsung dan eksekusi job dilakukan satu per satu secara urut dan bergantian

Simple Batch System (1950)

Beberapa job (program) yang akan diproses dikumpulkan menjadi satu (menjadi sebuah batch) oleh operator komputer sebelum diproses oleh komputer

Multiprogrammed Batch System

Job (program) yang diproses berjumlah lebih dari satu dan diproses secara “bersamaan”

Time-Sharing System (1961)

Sebuah komputer (support multiprogramming) digunakan oleh lebih dari satu user secara bersamaan untuk mengerjakan interaktif job

Simple Batch System

Simple batch system ≈ uniprogramming. Tujuan untuk meningkatkan utilisasi mesin (komputer)

Prinsip kerja:

Digunakan sebuah software (“sistem operasi”) yang disebut “monitor” yang berfungsi untuk mengatur urut-urutan eksekusi job (program)

User tidak langsung berinteraksi dengan computer

User mengirimkan job melalui card atau pita magnet

Komputer dijalankan oleh operator

Setiap job langsung dieksekusi setelah job yang di depannya selesai dieksekusi dan tidak ada waktu terbuang

Cara kerja monitor :

membaca sebuah job yang ada di card atau tape

melakukan job tersebut ke dalam area program user

menyerahkan kontrol terhadap job tersebut kepada prosesor

Bila job selesai di ambil alih control

Kirim hasil job ke device output (printer)

membaca job berikutnya.

yang dilakukan prosesor :

mengeksekusi instruksi yang ada di memori, yang merupakan bagian dari program monitor

Bila program yang dieksekusi adalah perintah untuk membaca job, maka prosesor beralih dari mengeksekusi program monitor menjadi program job (berubah dari pengontrol menjadi yang dikontrol)

Demikian seterusnya sampai seluruh job selesai dieksekusi

Feature:

memproteksi memori:

Area program monitor dilindungi terhadap pengaksesan oleh program user

Bila terjadi ada pesan error job dibatalkan eksekusi job berikutnya

Timer:

Setiap job diberi timer job tidak boleh memonopoli resource

Bila waktu habis program dihentikan , prosesor mengembalikan kontrol ke monitor

Instruksi eksklusif (Privileged instructions)

Instruksi tertentu dilindungi dari pengaksesan oleh program user dan hanya boleh diakses oleh monitor, misal perintah ke I/O

Program user yang akan mengakses I/O device harus melalui monitor

Bila terjadi pesan error di kontrol diambil alih oleh monitor

Tujuan:

Untuk mencegah jangan sampai suatu program mengakses I/O device yang sedang diakses oleh program lain.

Interrupts

Fasilitas ini digunakan untuk memperbaiki perpindahan kontrol antara program monitor dan program usersecara fleksibel.

Mode pada simple batch system :

User mode Adalah kondisi pada saat program user (job) sedang dieksekusi oleh prosesor. Protected memory dan priviledged instructions tidak boleh diakses

Kernel mode Adalah kondisi pada saat program monitor (OS) sedang dieksekusi oleh prosesor. Protected memory dan priviledged instructions boleh diakses.

kekurangannya adalah :

Terjadi overhead : Sebagian lokasi memori ditempati oleh monitor

Sebagian waktu prosesor digunakan untuk mengeksekusi monitor

Waktu prosesor belum termanfaatkan secara maksimal

Prosesor sering idle (menganggur) karena I/O device jauh lebih lambat dibanding prosesor

Multiprogrammed Batch System Batch System

Multiprogrammed batch system ≈ multiprogramming ≈ multitasking ≈ OS modern

Tujuan: untuk meningkatkan utilisasi prosesor

Time Sharing System Time Sharing System

Timbul gagasan untuk membuat sistem model time sharing adalah

Komputer telah dapat digunakan untuk melakukan multiprogramming, Pada tahun 1960 ukuran komputer sangat besar dan sangat mahal, tidak realistis bila satu user satu computer

CTSS (Compatible Time-Sharing System) merupakan sistem operasi model time sharing pertama yang dikembangkan di MIT yang dijalankan pada komputer IBM 709 (th 1961) dan IBM 7094 dan CTSS dapat digunakan oleh 32 user bersama-sama.

5 Hal Utama Utama Dalam Dalam Pengembangan Pengembangan Sistem Operasi

OS = program paling kompleks yang pernah dibuat tidak ada yang lebih kompleks

Hal-hal penting yang harus diperhatikan dalam pengembangan OS:

Proses

Pengaturan memori

Proteksi dan keamanan informasi (data/file)

Penjadualan dan pengaturan resource

Struktur sistem operasi

Jenis sistem operasi apa saja yang mempersyaratkan adanya timing dan sinkronisasi

Sistem multiprogramming : Sistem yang mengutamakan penggunaan setiap resource komputer secara maksimal

Sistem time sharing : Sistem yang dapat melayani kebutuhan setiap user , Sistem yang melayani banyak user secara bersama-sama

Sistem transaksi real-time : Sistem yang dapat melayani banyak user yang bersama-sama mengantri untuk mengakses data dalam sebuah basis data. Contoh: sistem pemesanan tiket (pesawat terbang)

Perbedaan antara sistem time sharing dengan sistem transaksi real-time adalah

Sistem time sharing dapat melayani berbagai macam program aplikasi sesuai dengan kebutuhan user, banyak user mengakses banyak aplikasi. Sistem transaksi real-time hanya dapat melayani beberapa jenis aplikasi saja, banyak user mengakses sedikit aplikasi

Permasalahan yang dapat terjadi dalam proses

Sinkronisasi tidak tepat

Efek: salah membaca data Misal: program untuk membaca data dari harddisk harus menunggu hingga buffer data telah terisi data, jika tidak data yang diambil bukan data yang diinginkan

Kegagalan mutual exclusion

Efek: lebih dari satu user/program berusaha mengakses sebuah resource secara bersamaan

Eksekusi program tidak terkendali

Efek: hasil eksekusi program tidak menentu (sangatdipengaruhi oleh program lain)Penjadualan eksekusi program harus secara tepat

Deadlock

Efek: terjadi hang (terdapat dua atau lebih program saling menunggu)

Misal: Dua program yang membutuhkan data yang terletak di dua buah harddisk terpisah. Masing-masing program sedang mengakses harddisk sendiri-sendiri dan salingmenunggu program lain melepaskan harddisk yang sedang diaksesnya

komponen proses

Executable program (.exe) Hal-hal yang berhubungan dengan data yang dibutuhkan proses (variabel, buffer, work space, dll)

Execution context atau process state: Semua informasi yang dibutuhkan oleh OS untuk mengatur proses (misal: prioritas, sedang menunggu signal dari I/O, dll)

Prosesor untuk mengeksekusi proses (misal: program counter dan data beberapa register)

Manajemen Memori

tujuan manajemen memori Agar alokasi memori dapat dilakukan secara terkontrol dan efisien

Yang dilakukan pada manajemen memori

Mengisolasi proses OS harus dapat mencegah agar suatu proses tidak mengganggu area memori proses yang lain

Manajemen dan Alokasi dinamis, OS dapat mengalokasikan suatu program ke beberapa jenis memori berbeda secara dinamis

Programmer tidak perlu selalu memeriksa apakah memori yang akan digunakan cukup tersedia atau tidak ditangani oleh sistem operasi

Mendukung pemrograman modular OS memberikan kemudahan bagi programmer dalam menentukan modul program, membuat, menghancurkan, dan mengubah ukuran modul secara dinamis

Proteksi dan kontrol akses

OS harus dapat mencegah terjadinya pengaksesan ruang memori suatu program oleh program yang lain

OS harus dapat menyediakan lokasi memori tertentu sebagai share memory bila diperlukan

Mendukung penyimpanan data jangka panjang

OS harus menyediakan fasilitas untuk menyimpan data dalam waktu lama

Memori Virtual

Adalah fasilitas yang disediakan OS sehingga suatu program dapat memanfaatkan memori secara lojik tanpa melihat ukuran fisik memori utama yang tersedia.

Bertujuan agar beberapa program dapat tersimpan di dalam memori secara bersamaan, sehingga tidak terjadi kekosongan aktifitas pada saat terjadi pergantian eksekusi proses

Pengisolasian data antar proses dilakukan dengan cara memberi kode unik untuk setiap proses

Memory sharing dilakukan dengan cara meng-overlap-kan bagian virtual memori yang akan di-sharing

Paging

Adalah salah satu teknik mapping memori dengan cara membagi proses menjadi blok-blok kecil berukuran tetap yang disebut page

Program mengakses data menggunakan alamat virtual yang terdiri dari nomor page dan offset

Setiap page dapat ditempatkan di memori secara bebas (tidak perlu terurut)mapping dinamis

Hanya page yang sedang diperlukan saja yang harus ditaruh di memori kelebihan paging

Mapping antara alamat virtual pada program dengan alamat fisik pada memori dapat dilakukan secara dinamis

Menghilangkan keharusan untuk menempatkan semua page suatu proses ditaruh di memori secara bersamaan

Proteksi Proteksi dan dan Keamanan Keamanan Informasi Informasi (data/file)

proteksi dan keamanan informasi diperlukan di Sistem time-sharing, Sistem komputer yang terhubung ke jaringan yang perlu diproteksi/diamankan

Ketersediaan informasi

Informasi yang dibutuhkan dilindungi sehingga selalu tersedia

Kerahasiaan informasi

Informasi tidak dapat dibaca oleh user yang tidak berhak

Keutuhan data

Data dilindungi dari modifikasi oleh user yang tidak berhak

Keaslian data

Keaslian pemilik data dan validitas isinya dapat terlindungi

Manajemen Manajemen Resource dan dan Penjadualan

Yang harus dilakukan OS dalam mengatur resource dan penjadualan:

Keadilan (fairness)

OS harus dapat memberikan kesempatan yang sama kepada semua proses dalam mengakses resource (proses yang sekelas)

Kemampuan membedakan

OS harus dapat memberikan kesempatan yang berbeda-beda untuk proses yang kelasnya berbeda (sesuai dengan prioritas)

Efisiensi

Throughput maksimal

Response time minimal

Dapat mengakomodasi jumlah user sebanyak mungkin

Sistem istem Operasi Operasi Modern

Pemicu perkembangan sistem operasi modern:

Hardware:

Kecepatan hardware semakin tinggi

Kecepatan jaringan semakin tinggi

Kapasitas penyimpan data semakin besar dan semakin banyak macamnya

Aplikasi:

Aplikasi multimedia

Internet dan akses jaringan

Aplikasi client/server

Keamanan:

Virus

Worm

Hacker

Jenis sistem operasi modern:

Monolitic kernel

Arsitektur microkernel

Multithreading

Symmetric multiprocessing (SMP)

Sistem operasi terdistribusi

Sistem operasi model object-oriented

Elektronik

Posted: 25 August 2010 in terbaik

Di dalam bahasa Indonesia ditulis dengan Elektronika. Elektronika adalah ilmu yang mempelajari alat listrik yang dioperasikan dengan cara mengontrol aliran elektron atau partikel bermuatan listrik lainnya dalam suatu adalah seperti katup termionik dan semikonduktor. Ilmu yang hanya mempelajari alat-alat seperti itu dianggap cabang dari fisika, dan desain dan pembuatan sirkuit elektronik untuk menyelesaikan berbagai masalah praktis adalah bagian dari teknik elektro dan teknik komputer.

Marquee

Posted: 6 July 2010 in Terbaru

Membuat efek Marquee

Apa itu marquee ? Marquee adalah suatu program HTML untuk membuat teks bisa bergerak atau berjalan. Program marquee ini banyak diminati dan di pakai oleh para blogger di dalam blognya karena sifat program ini yang dinamis serta menarik untuk di lihat disamping untuk menghemat tempat pada halaman blog.

Marquee ini bisa di buat dengan menggunakan tag ….

Atribut yang sering di gunakan adalah :

BGCOLOR=”warna” –> Untuk mengatur warna background (latar belakang) teks

DIRECTION=”left/right/up/down” –> Mengatur arah gerakan teks

BEHAVIOR=”scroll/slide/alternate” –> Untuk mengatur perilaku gerakan

Scroll –> teks bergerak berputar

Slide–> teks bergerak sekali lalu berhenti

Alternate –> teks bergerak dari kiri kekanan lalu balik lagi ( bolak-balik bo)

TITLE=’pesan” –> Pesan akan muncul saat mouse berada di atas teks

SCROLLMOUNT=”angka” –> mengatur kecepatan gerakan dalam pixel, semakin besar angka semajin cepat gerakannya.

SCROLLDELAY=”angka” –> Untuk mengatur waktu tunda gerakan dalam mili detik

LOOP=”angka|-1|infinite” –> Mengatur jumlah loop

WIDTH=”lebar” –> Mengatur lebar blok teks dalam pixel atau persen

Agar lebih jelas akan saya sertakan contohnya :

Contoh marquee dari gerakan :

marquee dari kanan ke kiri

hasilnya :

marquee dari kanan ke kiri

ganti kata “left” dengan keinginan anda yaitu bisa : left, up, down .

Contoh marquee dari perilaku gerakan :

marquee menurut perilaku

marquee menurut perilaku

Contoh marquee dengan variasi hurup dan warna latar belakang :

&ltFONT FACE=”georgia” color=”White”>

hasilnya :

marquee dengan variasi hurup

Ada variasi lain dari marquee ini, yakni ketika mouse sedang berada di area marquee teks akan berhenti dan ketika mouse di geser kembali ketempat lain maka teks akan bergerak kembali, ini hanya di tambahkan sedikit program pada kolom marquee.

Contoh, silahkan arahkan mouse anda ke area marquee di bawah ini :

silahkan tunjuk ke sini

hasilnya :

silahkan tunjuk ke sini

Contoh marquee yang di dalam nya terdapat link :

Rubrik Elektronik

Electronic Rubric

Kolom iklan

hasilnya : Free Template

Kolom iklan

Kang Rohman

Mungkin itu saja beberapa contoh yang bisa di berikan, silahkan anda otak-atik sendiri agar tercipta variasi-variasi dari marquee ini.

Selamat ber eksperimen

Ingin pintar dalam bahasa HTML, silahkan download ebook nya di sini

Ingin pintar membuat website sendiri, silahkan klik Disini

Sort

Posted: 28 June 2010 in terbaik

NAMA           : SUWARDIWANSYAH

NIM                : 09102209

METODE GELEMBUNG (BUBLE SORT)

DAN

METODE SELEKSI (SELECTION SORT)

METODE GELEMBUNG (BUBLE SORT)

Disebut juga dengan metode Penukaran (Exchange Sort), yaitu metode yang mendasarkan pada penukaran elemen untuk mencapai keadaan urut yang diinginkan.

Algoritma Metode gelembung :

– langkah 1 : Baca vektor yang akan diurutkan (dalam program utama)

– langkah 2 : Kerjakan langkah 2 untuk i = 1 sampai N-1

– langkah 3 : Kerjakan langkah 3 untuk j = 1 sampai N- i

– langkah 4 : Tes apakah A[j] > A[j +1] ? Jika ya, tukarkan nilai kedua elemen ini

– langkah 5 : Selesai

PROGRAM ;

Uses Crt;

TYPE ArrInt = array [1..100] of integer;

PROCEDURE Tukar(var a,b : integer);

var Bantu : integer;

begin

Bantu := a;

a := b;

b := Bantu;

end;

PROCEDURE BubleSort(var X : ArrInt; N : word);

var i, j : word;

begin

for i:=1 to N-1 do

for j := 1 to N-i do

if x[j] > x[j+1] then

Tukar(x[j], x[j+1]) ;

end;

Var

Data: ArrInt ;

i, j, n: integer ;

Begin

clrscr;

Writeln(‘Nama  : Suwardiwansyah’);

Writeln(‘NIM   : 09102209’);

writeln;

writeln(‘Masukkan data anda !’);writeln;

write(‘Berapakah Banyak data anda ? :’);readln(n);

writeln(‘Silakan masukkan data Anda !’);

for i:=1 to n do

begin

Write(‘Data ke-‘,i,’ = ‘);readln(data[i]);

end;

BubleSort(data,n);

write(‘Hasil Pengurutan data dengan BubleSort : ‘);

for i:=1 to n do

write(data[i]:3);

readln;

end.

Waktu Dijalankan :


METODE SELEKSI (SELECTION SORT)

Masukkan dinyatakan sebagai vektor misal vektor A (belum terurut), dan N (misal banyak elemen yang akan diurutkan). Keluaran adalah vektor A yang telah terurut.

Algoritma metode seleksi :

– langkah 1 : Baca vektor yang akan diurutkan (dalam program utama)

– langkah 2 : Kerjakan langkah 2 sampai 4 untuk i = 1 sampai N -1

– langkah 3 : Tentukan awal = i , kerjakan langkah 3 untuk j = i +1 sampai N

– langkah 4 : (Mencari data terkecil) Tes : apakah A[awal] > A[j], jika ya maka ubah awal = j

– langkah 5 : Tukarkan nilai A[awal] dengan A[i]

– langkah 6 : selesai

PROGRAM;

USES CRT;

TYPE ArrInt = array [1..100] of real ;

PROCEDURE Tukar(var a,b : real);

var Bantu : real;

begin

Bantu := a;

a := b;

b := Bantu;

end;

PROCEDURE SelectionSort(var X : ArrInt; N : integer);

var i,j : integer;

begin

for i:=1 to N-1 do

for j := i+1 to N do

if x[i] > x[j] then

Tukar(x[i],x[j]);

end;

VAR

Data : ArrInt;

i,j,n : integer;

BEGIN

clrscr;

Writeln(‘Nama : Suwardiwansyah’);

Writeln(‘NIM  : 09102209’);

writeln;

Writeln(‘Masukkan data anda !’);writeln;

Write(‘Berapakah Banyak data anda ? :’);readln(n);

writeln(‘Silakan masukkan data Anda!’);

for i:=1 to n do

begin

Write(‘Data ke-‘,i,’ = ‘);readln(data[i]);

end;

SelectionSort(data,n);

for i:=1 to n do

write(‘(‘,data[i]:4:2,’),’);

readln;

end.

Waktu Dijalankan :


database Delphi

Posted: 12 June 2010 in terbaik

DASAR-DASAR MEMBUAT PROGRAM DATABASE DENGAN DELPHI
PENGANTAR DATABASE DENGAN DELPHI

Database dengan mengagunakan Delphi menggunakan konsep seperti gambar dibawah ini :
Komponen Table
Komponen DataSource
Komponen Data Control
File Database
Keterangan :
1. File Database : File database dari sistem database lain seperti Dbase (*.dbf), Paradox (*.db), Microsoft Access (*.mdb), dan lain-lain.
2. Komponen Table : Komponen yang mewakili file database. Setiap melakukan proses dalam komponen tabel tersebut, maka isi file database yang terkoneksi ke komponen tersebut berubah juga.
3. Komponen DataSource : Komponen penghubung antara komponen tabel dengan komponen data control. Dalam datasource harus diisi tabel yang berelasi ke datasource tersebut.
4. Komponen-Komponen Data Control : Komponen yang digunakan untuk menampilkan data-data yang berasal dari datasource (tabel). Data control ada yang berbentuk tabel, label, edit box, gambar, combobox, listbox dan lain-lain.
PROGRAM DATABASE 1 :
Untuk program pertama ini, program database yang akan dibuat adalah untuk mendata spesies ikan pada suatu toko. (data sudah ada)
1. Buat suatu aplikasi baru dengan Alt+F – New Application
2. Tempatkan sebuah komponen Table dari component palette Data Access.
Ganti property berikut :
Property
Nilai
DatabaseName
DBDEMOS
TableName
BIOLIFE.DB
Name
TIkan
Active
True
Keterangan :
DatabaseName adalah Alias directory atau koneksi ODBC. Pembuatan alias akan diterangkan berikutnya.
3. Tempatkan sebuah komponen DataSource dari component palette Data Access
Ganti property berikut :
Property
Nilai
DataSet
TIkan
Name
DSIkan
4. Tempatkan sebuah DBGrid dari component palette Data Controls pada form kemudian isi properti datasourcenya dengan DSIkan (karena akan menampilkan isi tabel ikan). Coba run program dan lihat hasilnya. Dengan cara yang tadi dijalankan, maka kita sudah dapat melihat, menambah, mengedit data.
Halaman 5.1
Modul Borland Delphi 5
5. Tempatkan sebuah DBNavigator dari component palette Data Controls pada form. Komponen ini berguna untuk menjelajahi isi tabel yaitu : Pindah ke record pertama, berikutnya (maju), sebelumnya (mundur), terakhir, menambah data, menghapus data, menyimpan data, mengedit data, membatalkan perubahan data dan refresh data. Isi property DataSource dengan DSIkan. Kemudian run program untuk melihat kegunaan dari DBNavigator tersebut.
6. Tempatkan sebuah DBText dari component palette Data Controls pada form. Fungsi dari komponen ini sama dengan komponen Label pada component palette Standar. Perbedaannya isi dari DBText berasal dari suatu data field dari suatu tabel. Untuk menghubungkan DBText dengan field, gantilah properti DataSource dengan DSIkan dan DataField dengan field yang diinginkan contoh CommonName. Kemudian run program sehingga kita dapat melihat setiap record aktif pindah maka isi DBText berisi field CommonName record yang aktif.
7. Tempatkan sebuah DBEdit dari component palette Data Controls pada form. Fungsi dari komponen ini sama dengan komponen Edit perbedaannya isi DBEdit mengacu kepada suatu data field dari suatu tabel. Untuk menghubungkannya dengan suatu field, isi property DataSource dengan DSIkan dan FieldName dengan Spesies No.
8. Untuk menampilkan data bertipe memo dari component palette Data Controls, gunakan komponen DBMemo, kemudian ganti property Datasource dengan DSIkan dan FieldName dengan Notes.
9. Untuk menampilkan data bertipe gambar, gunakan komponen DBImage dari component palette Data Controls, kemudian ganti property Datasource dengan DSIkan dan FieldName dengan Graphics.
10. Tempatkan suatu tombol kemudian ganti caption dengan Tutup Program dan kemudian isi even Onclick dengan perintah Close; atau Application.Terminate.
Gambar Lengkap form adalah sebagai berikut :
DBEdit
Table
DataSource
DBNavigator
DBLabel
DBMemo
DBGrid
DBImage
Halaman 5.2
Modul Borland Delphi 5
PEMBUATAN ALIAS
Alias digunakan sebagai short cut dari suatu sub directori/folder. Sebenarnya dalam tabel kita bisa menggunakan alamat langsung dari file yang akan diakses contohnya : C:\MY DOCUMENTS\DATA\KARYAWAN.DB, hal tersebut bisa dilakukan tapi kalau file karyawan.db dipindah maka program harus dirubah. Untuk menghindari hal seperti itu, maka dibuatlah suatu Alias. Contoh kita buat suatu alias bernama Karyawan yang mewakili C:\My Documents\Data. Kalau data karyawan tersebut dipindah maka kita tidak lagi mengubah programnya tapi hanya membelokan alias tersebut ke tempat yang baru.
Cara pembuatan alias adalah sebagai berikut :
1. Masuk ke Database Desktop yang ada pada Start Menu – Program – Borland Delphi – Database Desktop atau pilih menu Tool – DataBase Desktop.
2. Pilih menu Tools – Alias Manager
3. Klik tombol New, kemudian isi edit box Database alias dengan alias yang diinginkan, kemudian klik tombol Browse.
Halaman 5.3
Modul Borland Delphi 5
4. Pilih drive yang diinginkan pada combo (drive or alias), kemudian pilih direktori/folder yang dituju pada list Directories. Kemudian tekan tombol OK.
5. Jika telah benar tekan tombol OK pada Alias Manager. Maka akan muncul dialog apakah alias tersebut akan disimpan dalam file configurasi. Tekan tombol Yes.
Halaman 5.4
Modul Borland Delphi 5
PEMBUATAN TABEL
Pembuatan tabel yang akan diakses oleh Delphi bisa dibuat dengan Database Desktop atau MsAccess.
Cara pembuatan tabel dalam Database Desktop :
1. Masuk ke program Database Desktop
2. Pilih menu File – New – Table sehingga akan muncul dialog berikut yang akan menanyakan tabel jenis apa yang akan dibuat apakah paradox atau dbase atau yang lain, kemudian tekan OK.
3. Maka akan muncul window pembuatan tabel seperti berikut :
4. Jika sudah lengkap tekan tombol Save As untuk menyimpan tabel tersebut.
5. Tulis nama file tabel yang sudah dibuat dan simpan pada alias yang tadi dibuat.
6. Tabel sudah bisa diakses oleh Delphi.
Jenis-jenis field dapat dilihat di halaman berikutnya.
Halaman 5.5
Modul Borland Delphi 5
Jenis field-field dalam Paradox yang sering dipakai :
Simbol Jenis Field
Jenis Field
Keterangan
A
AlphaNumeric
String, Alpabet, Numerik
I
Integer
Integer (Bilangan Bulat)
N
Number
Pecahan
D
Date
Tanggal
T
Time
Jam
M
Memo
Memo / Catatan panjang
G
Graphic
Gambar
+
AutoIncrement
Otomatis naik tiap ada penambahan data
$
Money
Mata Uang
S
Short Int
Integer kecil (-32768 s/d 32767)
PENGISIAN DATA
Pengisian data pada tabel bisa dilakukan dengan dua cara, yaitu :
1. Melalui Database Desktop
Buka Database Desktop, kemudian pilih File – Open – Table kemudian pilih file database mana yang akan diisi.
2. Melalui program yang dibuat Halaman 5.6
Modul Borland Delphi 5
Contoh Aplikasi Database 1
Untuk kasus aplikasi sekarang, kita akan membuat suatu program untuk pengolahan data barang menggunakan tabel yang telah dibuat dan memiliki fasilitas berikut :
− Navigator Data
− Penambahan Data
− Pengeditan Data
− Penghapusan Data
− Pencarian Data
Untuk membuat hal tersebut lakukan langkah berikut :
1. Buatlah form seperti berikut
Catatan : Nama tabel adalah TBarang
2. Program untuk tombol navigator (4 buah speedbutton bergambar tangan) adalah sebagai berikut :
– Program untuk Pindah Ke Data Pertama (gambar tangan menunjuk ke atas)
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
TBarang.First;
end;
– Program untuk Pindah Ke Data Sebelumnya / Mundur (gambar tangan menunjuk ke kiri)
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
TBarang.Prior;
if TBarang.BOF then
ShowMessage(‘Anda sudah di awal data’);
end;
– Program untuk Pindah Ke Data Berikutnya / Maju (gambar tangan menunjuk ke kanan)
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
TBarang.Next;
if TBarang.EOF then
ShowMessage(‘Anda sudah di akhir data’);
Bitbtn
SpeedButton
Halaman 5.7
Modul Borland Delphi 5
end;
– Program untuk Pindah Ke Data Terakhir (gambar tangan menunjuk ke bawah)
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
TBarang.Last;
end;
3. Untuk proses penambahan dan pengeditan data, diperlukan suatu form baru yang digunakan untuk pengisian data barang tersebut. Buat suatu form seperti berikut :
– Buat form baru dengan File – New – Form dan namailah dengan FIsiBarang.
– Tempatkan 4 buah Edit untuk tempat pengisian data. Kemudian atur properti Name-nya sesuai dengan kegunaannya.
– Tempatkan tombol suatu tombol kemudian caption diisi dengan Save kemudian properti modalresult diisi dengan mrOk.
– Tempatkan tombol suatu tombol kemudian caption diisi dengan Cancel kemudian properti modalresult diisi dengan mrCancel.
4. Buatlah objek/component field untuk mempermudah dalam pengisian program dengan cara mendouble klik di componen Table kemudian klik kanan dan pilih Add All field. Dengan melakukan hal tersebut, maka setiap field mempunyai objek field khusus.
5. Isilah program berikut pada event onclick tombol Tambah.
Procedure Tform1.TblTambahClick(Sender : Tobject);
begin
FIsiBarang.ENama.Text:=‘’;
FIsiBarang.EHarga.Text:=‘0’;
FIsiBarang.EStock.Text:=‘0’;
FIsiBarang.EStockMinimal.Text:=‘0’;
FIsiBarang.ShowModal; //tampilkan Form Fisibarang
if FIsiBarang.ModalResult=mrOk then
begin
TBarang.Append;//meminta tempat kosong untuk data baru
TBarangNama.Value:=FIsiBarang.ENama.Text;
TBarangHarga.Value:=StrToFloat(FIsiBarang.EHarga.Text);
TBarangStock.Value:=StrToInt(FIsiBarang.EStock.Text);
TBarangStockMinimal.Value:=StrToInt(FIsiBarang.
EStockMinimal.Text);
TBarang.Post;//simpan data
end;
end;
Halaman 5.8
Modul Borland Delphi 5
6. Isilah program berikut untuk event onclick dari Tombol Edit
Procedure Tform1.TblEditClick(Sender : Tobject);
begin
FIsiBarang.ENama.Text:=TBarangNama.Value;
FIsiBarang.EHarga.Text:=FloatToStr(TBarangHarga.Value);
FIsiBarang.EStock.Text:=IntToStr(TBarangStock.Value);
FIsiBarang.EStockMinimal.Text:=
IntToStr(TBarangStockMinimal.Value);
FIsiBarang.ShowModal; //tampilkan Form Fisibarang
if FIsiBarang.ModalResult=mrOk then
begin
TBarang.Edit;//menyiapkan data untuk diedit
TBarangNama.Value:=FIsiBarang.ENama.Text;
TBarangHarga.Value:=StrToInt(FIsiBarang.EHarga.Text);
TBarangStock.Value:=StrToInt(FIsiBarang.EStock.Text);
TBarangStockMinimal.Value:=StrToInt(FIsiBarang.
EStockMinimal.Text);
TBarang.Post;
end;
end;
7. Untuk event onclick pada Tombol Hapus tulislah perintah sebagai berikut :
Procedure Tform1.TblHapusClick(Sender : Tobject);
begin
if MessageDlg(‘Data Mau Dihapus ?’,mtconfirmation,
[mbyes,mbno],0)=mryes then
begin
TBarang.Delete;
end;
end;
Keterangan :
Perintah MessageDlg digunakan untuk melakukan suatu dialog dengan user.
Cara penulisan MessageDlg adalah :
MessageDlg(Pesan, TipeDialog, [DaftarTombol],NoHelp).
Parameter pertama yaitu Pesan harus bertipe string.
Parameter kedua bisa berisi tipe dari dialog. Parameter ini bisa berisi:
– mtconfirmation : Ada lambang tanda tanya dalam dialognya
– mtwarning : Ada lambang peringatan / tanda seru (!)
– mtinformation : Ada lambang huruf i
– mterror : Ada lambang silang berwarna merah
– mtcustom : Tidak ada lambang dalam dialognya.
Parameter ketiga merupakan parameter yang mengatur tombol mana yang akan digunakan. Parameter ini bisa berisi :
MrNone, mrAbort, mrYes, mrOk, mrRetry, mrNo, mrCancel, mrIgnore, mrAll
Fungsi Message dialog ini akan menghasilkan nilai sesuai dengan tombol yang ditekannya.
Jika tombol OK yang ditekan, maka MessageDlg ini berisi MrOK,
Jika tombol yes yang ditekan, maka MessageDlg ini berisi MrYes dst
8. Untuk tombol pencarian, maka gunakan perintah berikut :
Untuk pencarian pada field key :
Procedure Tform1.TblCariClick(Sender : Tobject);
begin
if Tbarang.Findkey([Ecari.Text])=false then
ShowMessage(‘Data yang dicari tidak ditemukan’);
end;
Fungsi Findkey akan memberikan nilai true jika data ditemukan dan akan mengembalikan nilai false jika data tidak ditemukan. Halaman 5.9
Modul Borland Delphi 5
9. Cara lain untuk penambahan dan pengeditan data adalah dengan menggunakan komponen data control. Lebih jelasnya ikutilah langkah-langkah berikut :
– Buat form baru dengan File – New – Form beri nama FIsiBarang2
– Tempatkan 5 buah DBEdit untuk tempat pengisian data. Kemudian atur properti DataSource dan DataField dari tiap DBEditnya. (lihat form)
– Tempatkan tombol suatu tombol kemudian caption diisi dengan Save kemudian properti modalresult diisi dengan mrOk.
– Tempatkan tombol suatu tombol kemudian caption diisi dengan Cancel kemudian properti modalresult diisi dengan mrCancel.
10. Untuk onclick pada Tombol Tambah, ketikan perintah berikut :
Procedure Tform1.TblTambahClick(Sender : Tobject);
begin
TBarang.Append;
FIsiBarang2.ShowModal;
if FIsiBarang2.ModalResult=mrOk then
begin
TBarang.Post;
end
else
begin
TBarang.Cancel;
end;
end;
11. Untuk onclick pada Tombol Edit, ketikan perintah berikut :
Procedure Tform1.TblEditClick(Sender : Tobject);
begin
TBarang.Edit;
FIsiBarang2.ShowModal;
if (FIsiBarang2.ModalResult=mrOk) then
begin
TBarang.Post;
end
else
begin
TBarang.Cancel;
end;
end;
Halaman 5.10
Modul Borland Delphi 5
Pembuatan Index Pada Table
Ketika pembuatan suatu tabel, kita membuat suatu field yang pada fieldnya diberi tanda *. Isi field yang merupakan field kunci tidak boleh ada data yang sama (harus unik). Dengan membuat suatu field sebagai primary key, maka setiap pengisian data, maka urutan data akan otomatis terurut. Selain primary key ada juga yang namanya secondary index yang fungsinya mirip dengan primary key.
Cara pembuatan secondary index adalah :
1. Masuk ke Database Desktop
2. Pilih menu Table – Utilities – Restructure, kemudian pilih tabel yang akan diubah strukturnya.
3. Pilih Secondary Indexes pada field Table Properties (lihat gambar).
4. Pilih field yang akan dijadikan index. Pilih field Nama kemudian tekan tombol panah kanan. (lihat gambar).
5. Jika telah dipilih, tulis nama index dari index tersebut. Contoh : idxNama.
6. Buat juga index dengan nama IdxHarga yang merupakan index dari field harga dengan ketentuan pengurutannya secara menurun (descending).
7. Jika telah selesai, simpan table tersebut.
Halaman 5.11
Modul Borland Delphi 5
Penggunaan Index dalam Program
Untuk mengaktifkan suatu index yang telah dibuat, gunakan field IndexName yang merupakan properti milik Table. Untuk lebih jelasnya silahkan buat form seperti di bawah ini.
Untuk bagian “Pengurutan Berdasarkan” gunakan RadioGroup.
Untuk OnClicknya tuliskan perintah berikutkan :
Procedure TForm1.RadioGroup1Click(Sender:TObject);
begin
if (RadioGroup1.ItemIndex=0) then
Tbarang.IndexName:=’’
else
if (RadioGroup1.ItemIndex=1) then
Tbarang.IndexName:=’idxBarang’
else
if (RadioGroup1.ItemIndex=2) then
Tbarang.IndexName:=’IdxHarga’;
End;
Untuk tombol ”Cari” tuliskan perintah berikut :
Procedure Tform1.CariClick(Sender:Tobject);
Var
Ditemukan:Boolean;
Begin
Ditemukan:=Tbarang.FindKey([Ecari.Text]);
if (ditemukan=false) then // atau if not ditemukan then
ShowMessage(‘Data tidak ditemukan‘);
End;
Untuk tombol “Find Nearest” tuliskan perintah berikut :
Procedure Tform1.TfindNearestClick(Sender:Tobject);
Begin
TBarang.FindNearest([Ecari.Text]);
End;