Senin, 29 November 2010
I think many ways to learn english easily. Firts, you can learn from movies, in movies you learn english in listening and conversation. Second, you can learn from music, in an english lyric you can get a new vocabularies and fore sure you can listening. Third, try to know your environment in english. In example, you know the meaning of kursi, lemari, jalan etc. Finally learn english is easy because you can learn from a lot of tings.
Sumber: http://nipahpanjang-iyo.blogspot.com/2010/11/kalimat-tanyakalimat-positif-kalimat.html
Dalam banyak sistem operasi awal desain perangkat lunak yang dikenal sebagai masukan / keluaran sistem kontrol (IOCS) memainkan peran konseptual dan fungsional pusat. Dalam multiprogramming-pra, batch sistem operasi, fungsi pengawasan yang ada hubungannya dengan input / output control - misalnya, kontrol atas pekerjaan antri, kontrol untuk manajemen dan operasi penyimpanan sekunder, kontrol untuk operasi perangkat layar dan peralatan peripheral lainnya, dll programmer sistem (atau desainer subsistem) untuk sistem operasi seperti itu hampir tidak bisa membuktikan kompetensi profesional tanpa mengakuisisi keakraban yang wajar dengan seluk-beluk IOCS untuk "instalasi"-nya.. Sebaliknya peran yang dimainkan oleh masukan / keluaran sistem kontrol dalam suatu sistem Multics yang jelas sekunder, setidaknya dari sudut pandang konseptual.. Bahkan, banyak atau bahkan desainer subsistem yang paling mampu mencapai tujuan masing-masing, namun tetap sepenuhnya menyadari rincian IOCS dari Multics.
Hal ini dimungkinkan sebagian karena dua operasi kadang-kadang dikaitkan dengan IOCS telah dipisahkan menjadi unit-unit fungsional terpisah yang dimanfaatkan oleh bagian lain dari sistem serta IOCS.. Pertama, sistem file [1] membuat dikenal dan dinamis link file yang tersimpan di dalam sistem untuk proses yang sah permintaan layanan ini.. Tidak peduli pada apa perangkat penyimpanan file-file ini berada pada saat permintaan.. Para pengguna (atau dalam hal ini modul pengawasan lainnya) tidak menyadari setiap gerakan data eksplisit dalam mengakses segmen ini meskipun pemindahan fisik dari perangkat sekunder yang sebenarnya ke memori sentral akan terjadi.. Kedua, kontroler lalu lintas [2] menangani semua multiplexing dari prosesor termasuk melepaskan prosesor dengan proses dan kebangkitan proses yang telah menunggu untuk I / O transaksi akan selesai.
Peran sekunder I / O System tidak berarti bahwa Multics mencoba untuk mendirikan sebuah penghalang yang mencegah programmer (sistem atau user) dari memperoleh dan menjalankan kontrol penuh atas I / O device. Sebaliknya, proses pengguna dapat "bernegosiasi" dengan administrator sistem, yang mengontrol distribusi I / O sumber daya, untuk memperoleh tertentu I / O device. Kemudian, dengan kode pengguna, proses pengguna dapat program kontrol dari perangkat I / O dan beroperasi dengan kebebasan penuh yang biasanya diberikan seorang programmer sistem.: Secara ringkas, Multics I / O Sistem telah dirancang menggunakan dua pedoman penting:
1. penggunaan paling sederhana, paling biasa itu hanya membutuhkan minimal pengetahuan dan keterampilan - dan overhead untuk (modus umum) seperti yang sederhana gunakan juga diminimalkan.
2. . Untuk mengekstrak lebih disesuaikan (tujuan khusus) jasa ada tambahan biaya - baik dalam waktu yang harus berkomitmen untuk memahami cara kerja alat dan overhead aktual yang akan terjadi dalam pelaksanaan.
Sistem yang akan dijelaskan di sini menekankan referensi hardware simbolik, independen untuk input / output device.. Skema ini memungkinkan program yang akan ditulis secara independen dari perangkat yang mereka gunakan dan memungkinkan perangkat yang akan ditugaskan pada saat perhitungan dilakukan dan berubah secara dinamis selama menjalankan.. Meskipun sistem lain [3,4,5] telah memanfaatkan referensi simbolik, upaya sistem Multics untuk memberikan kemudahan ekstrim modifikasi dan hampir independensi total perangkat, dengan batas mungkin.
I / O System tidak dengan sendirinya memberikan diformat I / O seperti yang biasanya ditemukan dalam banyak bahasa dan perpustakaan subrutin.. Juga, rincian perangkat tertentu operasi diturunkan ke peran kecil.. Yang tersisa adalah tingkat menengah I / O perangkat lunak yang membentuk jantung konseptual dari I / O System di Multics dan sekarang akan dijelaskan.
Sumber : http://translate.google.co.id/translate?hl=id&langpair=en|id&u=http://www.multicians.org/rjf.html
Memori adalah media penyimpan data pada komputer. Memori ini terbagi atas dua
macam, yaitu ;
• Read Only Memory (ROM),
yaitu memori yang hanya bisa dibaca saja, tidak dapat dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer. Isi ROM diperlukan pada saat komputer dihidupkan. Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM. Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk, perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar. Isi ROM tidak akan hilang meskipun tidak ada aliran listrik. Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya, al ;
a. PROM (Programable ROM), yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram.
b. RPROM (Re-Programable ROM), merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan.
c. EPROM (Erasable Program ROM), merupakan ROM yang dapat kita hapus dan program kembali, tapi cara penghapusannya dengan menggunakan sinar ultraviolet.
d. EEPROM (Electrically Erasable Program ROM), perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan menggunakan teknik elektrik. EEPROM ini merupakan jenis yang paling banyak digunakan saat ini.
• Random Access Memori (RAM), dari namanya kita dapat artikan bahwa RAM adalah memori yang dapat diakses secara random. RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika computer kita matikan, maka seluruh data yang tersimpan dalam RAM akan hilang. Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer. Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan, maka diperlukan media penyimpanan eksternal, seperti Disket, Harddisk, PCMCIA card dan lain-lain.
Rabu, 10 November 2010
Komputer berasal dari bahasa latin computare yang berarti menghitung. Karena luasnya bidang garapan ilmu komputer, para pakar dan peneliti sedikit berbeda dalam mendefinisikan termininologi komputer. Berikut beberapa definisi komputer oleh para pakar dan peneliti :
• Menurut Hamacher, komputer adalah mesin penghitung elektronik yang cepat dan dapat menerima informasi input digital, kemudian memprosesnya sesuai dengan program yang tersimpan di memorinya, dan menghasilkan output berupa informasi.
• Menurut Blissmer, komputer adalah suatu alat elektonik yang mampu melakukan beberapa tugas yaitu : menerima input, memproses input tadi sesuai dengan programnya, menyimpan perintah-perintah dan hasil dari pengolahan, dan menyediakan output dalam bentuk informasi.
• Menurut Fuori, berpendapat bahwa komputer adalah suatu pemroses data yang dapat melakukan perhitungan besar secara cepat, termasuk perhitungan aritmetika dan operasi logika, tanpa campur tangan dari manusia.
• Menurut Blissmer (1985), komputer adalah suatu alat elektronik yang mampu melakukan beberapa tugas, yaitu menerima input, memproses input sesuai dengan instruksi yang diberikan, menyimpan perintah-perintah dan hasil pengolahannya, serta menyediakan output dalam bentuk informasi.
• Sedangkan menurut Sanders (1985), komputer adalah sistem elektronik untuk memanipulasi data yang cepat dan tepat serta dirancang dan diorganisasikan supaya secara otomatis menerima dan menyimpan data input, memprosesnya, dan menghasilkan output berdasarkan instruksi-instruksi yang telah tersimpan di dalam memori. Dan masih banyak lagi ahli yang mencoba mendefinisikan secara berbeda tentang komputer. Namun, pada intinya dapat disimpulkan bahwa komputer adalah suatu peralatan elektronik yang dapat menerima input, mengolah input, memberikan informasi, menggunakan suatu program yang tersimpan di memori komputer, dapat menyimpan program dan hasil pengolahan, serta bekerja secara otomatis.
Dari definisi tersebut terdapat tiga istilah penting, yaitu input (data), pengolahan data, dan informasi (output). Pengolahan data dengan menggunakan komputer dikenal dengan nama pengolahan data elektronik (PDE) atau elecronic data processing (EDP). Data adalah kumpulan kejadian yang diangkat dari suatu kenyataan (fakta), dapat berupa angka-angka, huruf, simbol-simbol khusus, atau gabungan dari ketiganya. Data masih belum dapat bercerita banyak sehingga perlu diolah lebih lanjut.
Pengolahan data merupakan suatu proses manipulasi dari data ke dalam bentuk yang lebih berguna dan lebih berati, yaitu berupa suatu informasi. Dengan demikian, informasi adalah hasil dari suatu kegiatan pengolahan data yang memberikan bentuk yang lebih bermakna dari suatu fakta. Oleh karena itu, pengolahan data elektronik adalah proses manipulasi dari data ke dalam bentuk yang lebih bermakna berupa suatu informasi dengan menggunakan suatu alat elektronik, yaitu komputer.
Secara fisik, chipset berupa sekumpulan IC kecil atau chips yang dirancang untuk bekerjasama dan memiliki fungsi-fungsi tertentu. Pada sistem hardware komputer, chipset ini bisa terdapat pada motherboard, card-card (kartu-kartu) ekspansi, misalnya pada kartu grafis (video card), atau pada peralatan komputer lainnya. Fungsi chipset pada motherboard tidak sama dengan chipset pada kartu-kartu ekspansi. Begitu pula fungsi chipset pada peralatan komputer lainnya. Masing-masing memiliki fungsi sendiri yang bersifat spesifik. Chipset sebenarnya tidak selalu terdiri dari sekumpulan IC atau sekumpulan chip, kadang-kadang dijumpai hanya terdiri dari sebuah chip saja.
Chipset pada video card berfungsi untuk mengontrol rendering grafik 3 dimensi dan output berupa gambar pada monitor. Sedangkan chipset pada motherboard berfungsi untuk mengontrol input dan output (masukan dan keluaran) yang mendasar pada komputer. Perlu diketahui, bahwa yang dibahas pada bab ini difokuskan pada chipset yang ada pada motherboard, bukan chipset yang ada pada komponen atau perangkat komputer lainnya.
Lebih jelasnya, dapat dikatakan bahwa chipset yang biasa terdapat pada motherboard berfungsi untuk mengatur aliran data dari satu komponen ke komponen lainnya. Misalnya mengarahkan data dari CPU (prosesor) menuju kartu grafis (video card) atau ke sistem memori (RAM), serta mengarahkan aliran data melalui bus PCI, drive IDE dan port I/O. Pada kasus ini, dapat diibaratkan bahwa chipset seakan-akan berfungsi sebagai ‘polisi lalu lintas’ pengatur aliran data pada motherboard di sebuah PC (Personal Computer).
Selain mengatur aliran data, chipset juga ikut menentukan piranti apa saja yang dapat didukung oleh PC tersebut, serta turut menentukan kecepatan FSB (Front Side Bus), bus memori, bus grafis, kapasitas serta tipe memori yang dapat didukung oleh motherboard yang bersangkutan, dan menentukan standart IDE, juga tipe port yang didukung oleh sistem.
Sebenarnya, lebih detail lagi dapat dijelaskan bahwa chipset tradisional pada motherboard terdiri dari dua bagian, yaitu northbridge dan southbridge. Tugas-tugas umum chipset seperti yang telah dijelaskan tadi, dibagi kepada kedua bagian chipset tersebut. Masing-masing bagian chipset (northbridge atau southbridge) mempunyai tugas sendiri-sendiri yang bersifat spesifik dan bekerja sesuai fungsinya.
Asal mula istilah northbridge dan southbridge
Pemunculan istilah northbridge dan southbridge berawal dari kebiasaan dalam menggambar suatu bagan atau peta tentang arsitektur suatu komponen. CPU biasanya diletakkan pada bagian atas (puncak) bagan. Pada suatu peta, bagian atas selalu identik dengan arah utara. CPU kemudian dihubungkan dengan chipset melalui fast bridge atau jalur penghubung cepat yang menyambung langsung di bagian atas unit chipset. Itulah sebabnya bagian yang langsung berhubungan dengan CPU tersebut disebut northbridge. Northbridge ini kemudian dihubungkan dengan bagian bawah unit chipset melalui slow bridge atau jalur penghubung yang lebih lambat. Unit chipset bagian bawah ini kemudian disebut southbridge. Jika bagian atas menyimbolkan arah utara, dengan sendirinya bagian bawah menyimbolkan arah selatan. Itulah sebabnya disebut dengan istilah southbridge.
1.Northbridge
Northbridge disebut juga dengan nama memory controller hub (MCH). Perusahaan pembuat chipset yang menggunakan nama sebutan MCH ini adalah Intel. Sedangkan AMD, VIA dan perusahaan lainnya lebih banyak menggunakan nama sebutan northbridge.
Northbridge memiliki peran khusus yang sangat penting dalam suatu sistem motherboard. Northbridge adalah bagian yang menghubungkan prosesor (CPU) ke sistem memori dan graphics controller (AGP dan PCI Express) melalui bus berkecepatan tinggi, dan ke southbridge. Dengan demikian, Northbridge bertugas mengendalikan/ menangani komunikasi antara CPU, RAM, AGP atau PCI Express, dan southbridge. Bahkan pada sebagian chipset, di dalam northbridge juga berisi integrated video controller (pengendali video terintegrasi). Pada sistem Intel istilah integrated video controller ini disebut dengan nama Graphics and Memory Controller Hub (GMCH).
Istilah komputer mempunyai arti yang luas dan berbeda bagi setiap orang. Istilah komputer (computer) diambil dari bahasa Latin computare yang berarti menghitung (to compute atau to reckon).
Menurut Blissmer (1985), komputer adalah suatu alat elektronik yang mampu melakukan beberapa tugas, yaitu menerima input, memproses input sesuai dengan instruksi yang diberikan, menyimpan perintah-perintah dan hasil pengolahannya, serta menyediakan output dalam bentuk informasi.
Sedangkan menurut Sanders (1985), komputer adalah sistem elektronik untuk memanipulasi data yang cepat dan tepat serta dirancang dan diorganisasikan supaya secara otomatis menerima dan menyimpan data input, memprosesnya, dan menghasilkan output berdasarkan instruksi-instruksi yang telah tersimpan di dalam memori. Dan masih banyak lagi ahli yang mencoba mendefinisikan secara berbeda tentang komputer. Namun, pada intinya dapat disimpulkan bahwa komputer adalah suatu peralatan elektronik yang dapat menerima input, mengolah input, memberikan informasi, menggunakan suatu program yang tersimpan di memori komputer, dapat menyimpan program dan hasil pengolahan, serta bekerja secara otomatis.
Dari definisi tersebut terdapat tiga istilah penting, yaitu input (data), pengolahan data, dan informasi (output). Pengolahan data dengan menggunakan komputer dikenal dengan nama pengolahan data
elektronik (PDE) atau elecronic data processing (EDP). Data adalah kumpulan kejadian yang diangkat dari suatu kenyataan (fakta), dapat berupa angka-angka, huruf, simbol-simbol khusus, atau gabungan dari ketiganya. Data masih belum dapat bercerita banyak sehingga perlu diolah lebih lanjut.
Pengolahan data merupakan suatu proses manipulasi dari data ke dalam bentuk yang lebih berguna dan lebih berati, yaitu berupa suatu informasi. Dengan demikian, informasi adalah hasil dari suatu kegiatan pengolahan data yang memberikan bentuk yang lebih bermakna dari suatu fakta. Oleh karena itu, pengolahan data elektronik adalah proses manipulasi dari data ke dalam bentuk yang lebih bermakna berupa suatu informasi dengan menggunakan suatu alat elektronik, yaitu komputer.
SISTEM KOMPUTER
Supaya komputer dapat digunakan untuk mengolah data, maka harus berbentuk suatu sistem yang disebut dengan sistem komputer. Secara umum, sistem terdiri dari elemen-elemen yang saling berhubungan membentuk satu kesatuan untuk melaksanakan suatu tujuan pokok dari sistem tersebut.
Tujuan pokok dari sistem komputer adalah mengolah data untuk menghasilkan informasi sehingga perlu didukung oleh elemen-elemen yang terdiri dari perangkat keras (hardware), perangkat lunak (software), dan brainware. Perangkat keras adalah peralatan komputer itu sendiri, perangkat lunak adalah program yang berisi perintah-perintah untuk melakukan proses tertentu, dan brainware adalah manusia yang terlibat di dalam mengoperasikan serta mengatur sistem komputer.
Ketiga elemen sistem komputer tersebut harus saling berhubungan dan membentuk satu kesatuan. Perangkat keras tanpa perangkat lunak tidak akan berarti apa-apa, hanya berupa benda mati. Kedua perangkat keras dan lunak juga tidak dapat berfungsi jika tidak ada manusia yang mengoperasikannya.
STRUKTUR dan FUNGSI KOMPUTER
Struktur komputer didefinisikan sebagai cara-cara dari tiap komponen saling terkait. Struktur sebuah komputer secara sederhana, dapat digambarkan dalam diagram blok pada gambar berikut
Sedangkan fungsi komputer didefinisikan sebagai operasi masing-masing komponen sebagai bagian dari struktur. Adapun fungsi dari masing-masing komponen dalam struktur di atas adalah sebagai berikut:
1. Input Device (Alat Masukan)
Adalah perangkat keras komputer yang berfungsi sebagai alat untuk memasukan data atau perintah ke dalam komputer
2. Output Device (Alat Keluaran)
Adalah perangkat keras komputer yang berfungsi untuk menampilkan keluaran sebagai hasil pengolahan data. Keluaran dapat berupa hard-copy (ke kertas), soft-copy (ke monitor), ataupun berupa suara.
3. I/O Ports
Bagian ini digunakan untuk menerima ataupun mengirim data ke luar sistem. Peralatan input dan output di atas terhubung melalui port ini.
4. CPU (Central Processing Unit)
CPU merupakan otak sistem komputer, dan memiliki dua bagian fungsi operasional, yaitu: ALU (Arithmetical Logical Unit) sebagai pusat pengolah data, dan CU (Control Unit) sebagai pengontrol kerja komputer.
5. Memori
Memori terbagi menjadi dua bagian yaitu memori internal dan memori eksternal. Memori internal berupa RAM (Random Access Memory) yang berfungsi untuk menyimpan program yang kita olah untuk sementara waktu, dan ROM (Read Only Memory) yaitu memori yang haya bisa dibaca dan berguna sebagai penyedia informasi pada saat komputer pertama kali dinyalakan.
6. Data Bus
Adalah jalur-jalur perpindahan data antar modul dalam sistem komputer. Karena pada suatu saat tertentu masing-masing saluran hanya dapat membawa 1 bit data, maka jumlah saluran menentukan jumlah bit yang dapat ditransfer pada suatu saat. Lebar data bus ini menentukan kinerja sistem secara keseluruhan. Sifatnya bidirectional, artinya CPU dapat membaca dan menirma data melalui data bus ini. Data bus biasanya terdiri atas 8, 16, 32, atau 64 jalur paralel.
7. Address Bus
Digunakan untuk menandakan lokasi sumber ataupun tujuan pada proses transfer data. Pada jalur ini, CPU akan mengirimkan alamat memori yang akan ditulis atau dibaca.Address bus biasanya terdiri atas 16, 20, 24, atau 32 jalur paralel.
8. Control Bus
Control Bus digunakan untuk mengontrol penggunaan serta akses ke Data Bus dan Address Bus. Terdiri atas 4 samapai 10 jalur paralel.
INPUT DEVICE
Input device adalah alat yang digunakan untuk menerima input dari luar sistem, dan dapat berupa signal input atau maintenance input. Di dalam sistem komputer, signal input berupa data yang dimasukkan ke dalam sistem komputer, sedangkan maintenance input berupa program yang digunakan untuk mengolah data yang dimasukkan. Dengan demikian, alat input selain digunakan untuk memasukkan data juga untuk memasukkan program.
Beberapa alat input mempunyai fungsi ganda, yaitu disamping sebagai alat input juga berfungsi sebagai alat output sekaligus. Alat yang demikian disebut sebagai terminal. Terminal dapat dihubungkan ke sistem komputer dengan menggunakan kabel langsung atau lewat alat komunikasi.
Terminal dapat digolongkan menjadi non intelligent terminal, smart terminal, dan intelligent terminal. Non intelligent terminal hanya berfungsi sebagai alat memasukkan input dan penampil output, dan tidak bisa diprogram karena tidak mempunyai alat pemroses. Peralatan seperti ini juga disebut sebagai dumb terminal. Smart terminal mempunyai alat pemroses dan memori di dalamnya sehingga input yang terlanjur dimasukkan dapat dikoreksi kembali. Walaupun demikian, terminal jenis ini tidak dapat diprogram oleh pemakai, kecuali oleh pabrik pembuatnya. Sedangkan intelligent terminal dapat diprogram oleh pemakai.
Peralatan yang hanya berfungsi sebagai alat input dapat digolongkan menjadi alat input langsung dan tidak langsung. Alat input langsung yaitu input yang dimasukkan langsung diproses oleh alat pemroses, sedangkan alat input tidak langsung melalui media tertentu sebelum suatu input diproses oleh alat pemroses.
Alat input langsung dapat berupa papan ketik (keyboard), pointing device (misalnya mouse, touch screen, light pen, digitizer graphics tablet), scanner (misalnya magnetic ink character recognition, optical data reader atau optical character recognition reader), sensor (misalnya digitizing camera), voice recognizer (misalnya microphone). Sedangkan alat input tidak langsung misalnya keypunch yang dilakukan melalui media punched card (kartu plong), key-to-tape yang merekam data ke media berbentuk pita (tape) sebelum diproses oleh alat pemroses, dan key-to-disk yang merekam data ke media magnetic disk (misalnya disket atau harddisk) sebelum diproses lebih lanjut.
Kamis, 27 Mei 2010
Algoritma Divide dan Conquer
Divide: membagi masalah menjadi beberapa upa-masalah yang memiliki kemiripan dengan masalah semula namun berukuran lebih kecil (idealnya berukuran hampir sama),
Conquer: memecahkan (menyelesaikan) masing-masing upa-masalah (secara rekursif), dan
Combine: mengabungkan solusi masing-masing upa-masalah sehingga membentuk solusi masalah semula.
Skema Umum Algoritma Divide and Conquer

Algoritma Divide dan Conquer

k
Penyelesaian dengan Divide and Conquer
.

Penerapan Algoritma
Pada penyelasaian masalah pencarian Convex Hull dengan menggunakan algoritma Divide and Conquer, hal ini dapat dipandang sebagai generalisasi dari algoritma pengurutan merge sort. Berikut ini merupakan garis besar gambaran dari algoritmanya:
- Pertama-tama lakukan pengurutan terhadap titik-titik dari himpunan S yang diberika berdasarkan koordinat absis-X, dengan kompleksitas waktu O(n log n).
- Jika |S| ≤ 3, maka lakukan pencarian convex hull secara brute-force dengan kompleksitas waktu O(1). (Basis).
- Jika tidak, partisi himpunan titik-titik pada S menjadi 2 buah himpunan A dan B, dimana A terdiri dari setengah jumlah dari |S| dan titik dengan koordinat absix-X yang terendah dan B terdiri dari setengah dari jumlah |S| dan titik dengan koordinat absis-X terbesar.
- Secara rekursif lakukan penghitungan terhadap HA = conv(A) dan HB = conv(B).
- Lakukan penggabungan (merge) terhadap kedua hull tersebut menjadi convex hull, H, dengan menghitung da mencari upper dan lower tangents untuk HA dan HB dengan mengabaikan semua titik yang berada diantara dua buah tangen ini.
Senin, 24 Mei 2010
ALGORITMA PENCARIAN BINER (BINARY SEARCH)
ALGORITMA PENCARIAN BINER (BINARY SEARCH)
Pencarian Biner (Binary Search) pada array yang sudah terurut
Pencarian Biner (Binary Search) dilakukan untuk :
♪ memperkecil jumlah operasi pembandingan yang harus dilakukan antara data yang dicari dengan data yang ada di dalam tabel, khususnya untuk jumlah data yang sangat besar ukurannya.
♪ Prinsip dasarnya adalah melakukan proses pembagian ruang pencarian secara berulang-ulang sampai data ditemukan atau sampai ruang pencarian tidak dapat dibagi lagi (berarti ada kemungkinan data tidak ditemukan).
♪ Syarat utama untuk pencarian biner adalah data di dalam tabel harus sudah terurut, misalkan terurut menaik.
Kamus
Const N : integer = 8 { misalkan jumlah elemen array maksimum = 8 }
Type A = array [ 1 ..... N ] of integer
Cari, BatasAtas, BatasBawah, Tengah : Integer
Ketemu : boolean
ALGORITMA
Input (cari) { meminta nilai data yang akan dicari}
BatasAtas ¬ 1 { indeks array dimulai dari 1 }
BatasBawah ¬ N
Ketemu ¬ False
While (BatasAtas <>and (not ketemu) do
Tengah ¬ (BatasAtas + BatasBawah) div 2
If A [Tengah] = cari then
Ketemu ¬ true
Else
If ( A [Tengah] <>then { cari di bagian kanan }
BatasAtas ¬ Tengah + 1
Else
BatasBawah ¬ Tengah – 1 { cari di bagian kiri }
Endif
Endif
EndWhile
If (ketemu) then
Output ( ‘Data berada di index nomor’, Tengah )
Else Output ( ‘Data tidak ditemukan’ )
Endif
Contoh Nilai-Nilai data yang sudah terurut :
| A | 2 | 5 | 8 | 12 | 15 | 25 | 37 | 57 |
| | 1 | 2 | 3 | 3 | 5 | 6 | 7 | 8 |
Kasus 1 : cari = 12
A [Tengah] = A [4] = 12, berarti loop pertama data langsung ditemukan
Kasus 2 : cari = 15
A [Tengah] = A [4] = 12 < cari =" 15," batasatas =" Tengah" 1 =" 4" 1 =" 5
A [Tengah] = A [6] = 25 > cari = 15, berarti BatasBawah = Tengah - 1 = 6 - 1 = 5
A [Tengah] = A [5] = 15, berarti setelah loop ketiga, data ditemukan
Kasus 3 : cari = 10
A [Tengah] = A [4] = 12 > cari = 10, berarti BatasBawah = Tengah - 1 = 4 - 1 = 3
A [Tengah] = A [2] = 5 < cari =" 10," batasatas =" Tengah" 1 =" 2" 1 =" 3
A [Tengah] = A [3] = 8, berarti setelah loop ketiga, data tidak ditemukan
Untuk jumlah data sebanyak n, maka proses pembandingan maksimal sebanyak ( log n ) kali. Untuk contoh di atas, jumlah data 8, maka proses pembandingan maksimal sebanyak 3 kali.
Sumber : mita.staff.gunadarma.ac.id/Downloads/files/.../BINARY-SEARCH.doc