perangkat keras dan lunak pada multimedia

Perangkat Keras
Dari Wikibooks Indonesia, sumber buku teks bebas berbahasa Indonesia

Hampir seluruh aspek kehidupan manusia saat ini tidak dapat dilepaskan dari teknologi, khususnya teknologi komputer. Dapat dilihat bahwa untuk menuliskan suatu dokumen, orang cenderung sudah meninggalkan mesin ketik manual dan sudah digantikan perannya oleh komputer. Kasir di suatu pertokoan besar (supermarket) sudah menggunakan peralatan otomatis berupa komputer yang didisain khusus untuk keperluan itu. Kumpulan lagu-lagu yang sebelumnya hanya dapat didengarkan melalui media kaset atau piringan hitam, saat ini sudah mulai dikemas dalam bentuk compact disk (CD) yang dapat didengarkan dengan menggunakan komputer multimedia. Belum lagi perkembangan teknologi komputer di bidang kesehatan yang maju sangat pesat untuk membantu diagnosa penyakit dan proses penyembuahnnya. Dan masih banyak lagi bidang-bidang kehidupan manusia yang saat ini sudah menggunakan peralatan komputer.

Definisi Komputer 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.

Perangkat Keras adalah bagian2 dari material komputer. Komponen2 ini mempunyai massa dan akan diinstalasi dengan obeng. Setiap perangkat keras memiliki garansi .
Pengenalan Hardware Komputer Secara ringkas maka sistem komputer terdiri atas tiga bagian penting yaitu
  1. Perangkat keras : Unit pemrosesan sentral (CPU)/Perangkat keras: Prosesor
  2. Perangkat keras : Memori ROM dan RAM
  3. Perangkat keras : Input/Output
Dimana bagian CPU/Processor, Memori dan Port I/O terletak (terpasang) pada Mother Board, selanjutnya akan diperinci bagian-bagian dari Komputer tersebut :
>> Central Processing Unit / Processor
Merupakan bagian utama dari komputer karena processor berfungsi untuk mengatur semua aktifitas yang ada pada komputer. Satuan kecepatan dari processor adalah MHz (Mega Hertz) atau GHz(1000 MegaHertz), dimana semakin besar nilainya semakin cepat proses eksekusi pada komputer.

>> Memori
Memori berfungsi untuk menyimpan data dan program. Memori beraneka tipe dari yang tercepat aksesnya sampai yang terlambat.
  • Tercepat: Chace Memory dan Main Memory
  • Terlambat: Sekunder Memory
Selain menyatakan hubungan kecepatan, hirarki tersebut juga menyatakan hubungan – hubungan lain, yaitu :
  • Hubungan Harga : Semakin kebawah adalah harganya semakin murah. (Harga dihitung berdasarkan rupiah per bit data disimpan).
  • Hubungan Kapasitas : Semakin keatas umumnya kapasitasnya semakin terbatas.
  • Hubungan frekuensi pengaksesan : Semakin keatas semakin tinggi frekuensi pengaksesan.
Setiap kali pemroses melakukan eksekusi, pemroses harus membaca instruksi dari memori utama. Agar intruksi dapat dilakukan secara cepat maka harus diusahakan instruksi tersedia di memori pada hirarki berkecepatan akses lebih tinggi. Kecepatan eksekusi ini akan meningkatkan kinerja system. Untuk itu terdapat konsep memori dua level, yaitu ditampung dulu sementara di memori pada hirarki lebih tinggi.

pengembangan sistem multimedia

Pengertian Multimedia

Multimedia berasal dari bahasa latin (multi & media). Multi artinya banyak, dan Media (medium) artinya sesuatu yang digunakan untuk menyampaikan.

Dapat diartikan sebagai pengguna beberapa media yang berbeda untuk menggabungkan dan menyampaikan informasi dalam bentuk teks, audio, grafik, animasi, dan video.

Sedangkan menurut beberapa ahli, adalah:

  1. Menurut Roseh, Multimedia merupakan kombinasi dari komputer dan video.
  2. Menurut Me Comich, Multimedia merupakan kombinasi dari 3 elemen, yaitu : suara, gambar, dan teks.
  3. Menurut Turbon, Multimedia merupakan kombinasi dari paling sedikit dua media input dan output.
  4. Menurut Rubin & Liada, Mutimedia merupakan alat yang dapat menciptakan presentaasi yang dinamis dan interaktif yang mengkombinasikan teks, audio, grafik, video, atau animasi.
  5. Menurut Hofteffer, Multimedia merupakan pemanfaatan komputer untuk menggabungkan teks, grafik, audio, dan video yang memungkinkan pemakai berinteraksi, berkreasi, dan berkomunikasi.


Multimedia dapat digunakan dalam bidang:
  1. Bidang Periklanan
  2. Bidang Pendidikan
  3. Bidang Jaringan & Internet

Dengan Multimedia akan mampu:
  1. Mengubah lembar kerja
  2. Mengubah cara belajar
  3. Mengubah cara bisnis
  4. Mengubah cara memperoleh informasi.
  5. Bersaing dalam internet multimedia.

Objek-objek Multimedia:
  1. Teks
  2. Image
  3. Animasi
  4. Audio
  5. Video
  6. Interaktif link


Pengertian Sistem Multimedia
  1. Beberapa sistem yang mendukung lebih dari satu macam media
  2. Suatu sistem bisa dikatakan sistem multimedia:
           • Adanya kombinasi media
           • Adanya independen
           • Adanya komputer / supported integration

Jenis Sistem Multimedia
  1. Berbasis stand alone (hanya satu komputer)
  2. Berbasis jaringan.


software multimedia

Definisi
Perangkat Lunak adalah kebalikan dari Perangkat Keras yakni bagian2 yg non material dari komputer. Seperti : BIOS, Sistem operas dan program-program. Perangkat Lunak akan diinstalasikan ke dalam komputer melalui'Keyboard" dan "Mouse".Tidak ada perusahaan pembuat perangkat lunak yg bisa memberikan garansi bahwa perangkat lunaknya 100% tidak memiliki kesalahan.

Perangkat lunak multimedia dikelompokkan menjadi 3 yaitu :
  1. Bahasa pemrograman multimedia
Merupakan bahasa-bahasa yg dipakai programmer untuk menuliskan kumpulan-kumpulan instruksi  (program) dalam multimedia.
Menurut tingkatannya, bahasa programan multimedia dibedakan menjadi 2 macam :
  • bahasa pemrograman tingkat rendah
Contoh : Assembly (dekat hubungannya dgn bahasa mesin)
Biasa digunakan untuk membuat game (Nintendo Entertainment System / NES, SEGA’s dan Genesis)
  • bahasa pemrograman tingkat tinggi
Contoh : C, C++ dan Visual C++

Hampir semua perangkat kelas dunia dari web browser dibuat dgn Visual C++.
Contoh lain : Power Builder, Delphi, SQL Windows, Visual Basic, Java

2.  Perangkat lunak system

Perangkat lunak sistem terdiri dari sistem operasi dan program utility. Sistem operasi merupakan suatu system yg terdiri dari komponen-komponen software yg berfungsi untuk mengontrol seluruh kegiatan di dalam komputer. Sistem operasi yang banyak dipakai dalam komputer multimedia antara lain :
  • DOS (Disk Operating System)
  • Windows 95/98/2000
  • Windows XP dan Windows NT
  • Windows CE
  • Palm OS
  • Macintosh (Mac.) OS
  • UNIX
  • LINUX

3. Perangkat lunak aplikasi multimedia
Merupakan program-program yg dibuat oleh personal atau pabrik komputer untuk user yg dipakai/beroperasi dalam bidang-bidang multimedia yg sfesifik. Misalnya :

a. Perangkat lunak pengolah teks
- Wordstar

- Word Perfect

- Microsoft Word

b. Perangkat lunak pengolah grafik 2D

- Photoshop

- CorelDRAW

- Macromedia Freehand

c. Perangkat lunak modeling dan animasi

- 3D Studio Max (standard modelling 3D)

- MAYA (game, animasi 3D dan efek-efek visual)

- Soft-Image (Animasi karakter)

- Light-Wave (iklan TV, Film : Babylon5, Titanic, beberapa game)

d
. Perangkat lunak pengolah editing

Terdiri dari perangkat lunak editing suara dan editing video

Goldwave (perangkat lunak editing audio yg sederhana. Kemampuan : trimming, denoising, normalizing)

CoolEdit (paling populer. Fasilitas : filter, multi track, edit view, parametric EQ, organizer, mixer)

WaveLab (perangkat lunak audio profesional. Cocok untuk musisi profesional. Digunakan pada studio broadcasting, matering house, pabrik produksi CD, studio proyek, dll)

Sonar (merupakan pengganti seri Cakewalk Pro Audio yg mendukung audio dan MIDI track tak terbatas)

Ulead VideoStudio (menyediakan pilihan terbanyak pada perekaman)

Pinnacle Studio (perangkat lunak editing video yg cocok untuk perusahaan kecil dan pribadi, mudah dipahami)

Targa 3000 (merupakan editing dan compositing profesional dari pinnacle yg memadukan perangkat keras dan perangkat lunak)

Adobe Premiere (paling banyak digunakan di pasaran saat ini. Versi terbaik Adobe Premiere 6.5 dgn pilihan rela-time preview, title disigner, output DVD, dll)

Final Cut Pro (perangkat lunak editing video dan film profesional yg menerima penghargaan Emmy Engineering 2002 untuk dampaknya di industri TV dan Academy of Television Arts & Sciences)

Avid Xpress DV (dibangun pada arsitektur real-time secara revolusioner yg memberikan lebih dari 100 efek real-time yg berorientasi pemakai, color correction, vector-scope analisis, dll)
e. Perangkat lunak authoring multimedia

Peralatan authoring serupa dgn bahasa pemrograman yg memungkinkan integrasi teks, video, audio dan animasi ke dalam presentasi yg interaktif. Authoring merupakan aplikasi komputer yg memberikan peluang bagi pemakai untuk mengembangkan sebuah perangkat lunak dgn dragging dan dropping.
Peralatan authoring dikelompokkan menjadi 3 kategori :
1. Authoring berbasis halaman
- HyperCard
- Toolbook Assistant

2. Authoring berbasis icon
- Authorware
- Microsoft Power Point

3. Authoring berbasis waktu
- Macromedia Director
- Macromedia Flash

4. Authoring DVD
- Pinnacle Impreesion DVD
- Sonic ReelDVD
- Ulead DVD Workshop

f. Perangkat lunak berbasis web :
  • Macromedia Flash
  • Microsoft Front page
  • Macromedia Dreamweaver

spanning tree dan penerapannya di dalam kehidupan sehari2 terutama pada bidang teknik elektro

Pengertian

Spanning Tree Protocol atau yang sering disingkat dengan STP adalah link layer networ protocol yang menjamin tidak adanya loop dalam topologi dari banyak bridge/switch dalam LAN. STP ini berdasarkan pada sebuah algoritma yang ditemukan oleh Radia Perlman sewaktu bekerja untuk Digital Equipment Corporation. Dalam model OSI untuk jaringan komputer, STP ada di layer 2 OSI. Spanning tree memperbolehkan desain jaringan memiliki redundan links untuk membuat jalur backup otomatis jika sebuah link aktif gagal bekerja, tanpa adanya bahaya dari loop pada bridge/switch. Loop pada bridge/switch akan menghasilkan flooding pada network.

Spanning Tree Protocol (STP) merupakan bagian dari standar 802.1 IEEE yang dinginakan untuk kontrol media akses. suatu Layer 2 protokol yang berjalan pada bridge dan switch. Spesifikasi untuk STP adalah 802.1d IEEE. Tujuan utama dari STP adalah untuk memastikan bahwa Anda tidak membuat loop bila Anda memiliki jalan berlebihan di jaringan anda. Loop yang mematikan ke jaringan. Ini juga berfungsi sebagai protocol untuk pengaturan koneksi dengan menggunakan algoritma Spanning tree. Spanning Tree Protokol (802.1d). Spanning Tree (802.1d) merupakan sebuah protokol yang berada di jaringan switch yang memungkinkan semua perangkat untuk berkomunikasi antara satu sama lain agar dapat mendeteksi dan mengelola redundant link dalam jaringan.

Prinsip Kerja STP

Masalah umum yang bisa diatasi oleh Spanning Tree Protocol ini adalah broadcast storm. Broadcast storm menyebabkan banyak broadcast ( atau multicast atau unknown-destination unicast) pada loop yang ada di jaringan secara terus menerus. Hal ini akan menciptakan sebuah link yang tidak berguna (karena adanya link ganda antar bridge/switch) dan secara signifikan akan mempengaruhi performance dari komputer end-user karena terlalu banyak memproses broadcast yang ada.

Secara garis besar, Spanning Tree Protocol bekerja dengan cara :

• Menentukan root bridge.
Root bridge dari spanning tree adalah bridge dengan bridge ID terkecil (terendah). Tiap bridge mempunyai unique identifier (ID) dan sebuah priority number yang bisa dikonfigurasi. Untuki membandingkan dua bridge ID, priority number yang pertama kali dibandingkan. Jika priority number antara kedua bridge tersebut sama, maka yang akan dibandingkan selanjutnya adalah MAC addresses. Sebagai contoh, jika switches A (MAC=0000.0000.1111) dan B (MAC=0000.0000.2222) memiliki priority number yang sama, misalnya 10, maka switch A yanga akan dipilih menjadi root bridge. Jika admin jaringan ingin switch B yang jadi root bridge, maka priority number switch B harus lebih kecil dari 10.

• Menentukan least cost paths ke root bridge.
Spanning tree yang sudah dihitung mempunyai properti yaitu pesan dari semua alat yang terkoneksi ke root bridge dengan pengunjungan (traverse) dengan cost jalur terendah, yaitu path dari alat ke root memiliki cost terendah dari semua paths dari alat ke root.Cost of traversing sebuah path adalah jumlah dari cost-cost dari segmen yang ada dalam path. Beda teknologi mempunya default cost yang berbeda untuk segmen-segmen jaringan. Administrator dapat memodifikasi cost untuk pengunjungan segment jaringan yang dirasa penting.

• Non-aktifkan root path lainnya.
Karena pada langkah diatas kita telah menentukan cost terendah untuk tiap path dari peralatan ke root bride, maka port yang aktif yang bukan root port diset menjadi blocked port. Kenapa di blok? Hal ini dilakukan untuk antisipasi jika root port tidak bisa bekerja dengan baik, maka port yang tadinya di blok akan di aktifkan dan kembali lagi untuk menentukan path baru.
Spanning tree algoritma secara automatis menemukan topology jaringan, dan membentuk suatu jalur tunggal yang yang optimal melalui suatu bridge jaringan dengan menugasi fungsi-2 berikut pada setiap bridge. Fungsi bridge menentukan bagaimana bridge berfungsi dalam hubungannya dengan bridge lainnya, dan apakah bridge meneruskan traffic ke jaringan-2 lainnya atau tidak.







1. Root bridge
Root bridge merupakan master bridge atau controlling bridge. Root bridge secara periodik mem-broadcast message konfigurasi. Message ini digunakan untuk memilih rute dan re-konfigure fungsi-2 dari bridge-2 lainnya bila perlu. Hanya da satu root bridge per jaringan. Root bridge dipilih oleh administrator. Saat menentukan root bridge, pilih root bridge yang paling dekat dengan pusat jaringan secara fisik.

2. Designated bridge
Suatu designated bridge adalah bridge-2 lain yang berpartisipasi dalam meneruskan paket melalui jaringan. Mereka dipilih secara automatis dengan cara saling tukar paket konfigurasi bridge. Untuk mencegah terjadinya bridging loop, hanya ada satu designated bridge per segment jaringan

3. Backup bridge
Semua bridge redundansi dianggap sebagai backup bridge. Backup bridge mendengar traffic jaringan dan membangun database bridge. Akan tetapi mereka tidak meneruska paket. Backup bridge ini akan mengambil alih fungsi jika suatu root bridge atau designated bridge tidak berfungsi.

Semua implementasi Spanning protocol didasarkan pada algoritma IEEE 802.1.d. Dengan bertukar pesan dengan switch lain untuk mendeteksi loop, dan kemudian mengeluarkan loop dengan menutup dipilih antarmuka jembatan, algoritma ini menjamin bahwa ada satu dan hanya satu jalur yang aktif antara dua perangkat jaringan.

Secara sederhana, IEEE 802.1d algoritma spanning tree protocol seperti berikut :

• Menghilangkan loop di-link jaringan berlebihan secara efektif menonaktifkan link.

• Monitor untuk kegagalan link aktif dan mengaktifkan kembali redundant link untuk memulihkan jaringan agar penuh konektivitas (sambil menjaga bebas topologi loop).

Keuntungan dari spanning tree algoritma :

Spanning tree algoritma sangat penting dalam implementasi bridge pada jaringan anda.

Keuntungan nya adalah sebagai berikut:

• Mengeliminir bridging loops

• Memberikan jalur redundansi antara dua piranti

• Recovery secara automatis dari suatu perubahan topology atau kegagalan bridge

• Mengidentifikasikan jalur optimal antara dua piranti jaringan

• Menyediakan system jalur backup menjadi stand by atau diblock. STP hanya membolehkan satu jalur yang active (fungsi pencegahan loop) diantara dua host namun menyiapkan jalur back up bila jalur utama terputus.

• Mencegah loop yang tidak diinginkan pada jaringan yang memiliki beberapa jalur menuju ke satu tujuan dari satu host. Loop terjadi bila ada route/jalur alternative diantara host-host.

Penerapan di Kehidupan dan di Bidang Elektro

Algoritma Semut merupakan salah satu algoritma sistem cerdas yang belum banyak diterapkan terutama dalam kasus minimum spanning tree. Penyelesaian kasus dengan Algritma Semutini didasarkan pada tingkah laku semut dalam memperoleh makanan dengan memilih lintasan terpendek. Ciri pengolahan data dengan Algoritma Semut ini permaasalahan yang harus mempunyai siklus tertutup yang artinya node awal semut berangakat juga merupakan node akhir semut kembali.

Pemasanagn kabel telepon yang dgunakan oleh PT. Telkom sebelumnya adalah pemasangan dengan menggunakan rute terpendek yang didasarkan secara intituisi. Pemasangan ini merupakan pemasangan yang tidak sistematis sehingga hasil yang dihasilkan tidak optimal. Hasil awal yang digunakan pada 21 titik dengan menggunakan Q.S 3.0 maupun dengan perhitungan manual menggunakan algoritma kruskal adalah 2235 meter. Namun sayangnya dalam menggunakan Algoritma Semut memperoleh penyelesaian yang lebih optimal yaitu panjang lintasannya dalah 2461 meter. Walaupun terjandi perbedaan jarak yang sangat besar, namun dari segi penghematan waktu, dengan menggunakan algoritma semut perhitungan lebih cepat.

Pertumbuhan kehidupan ekonomi masyarakat yang pesat saat ini, dimana masyarakat dihadapkan pada kecanggihan teknologi yang mendorong manusia untuk berusaha mendapatkan informasi yang lebih cepat, mudah, dan akurat. Hal ini tidak hanya berlaku bagi negara maju saja, namun bagi negara-negara yang sedang berkembang misalnya Indonesaia pun jasa telekomunikasi sangat dibutuhkan. Dengan kata lain bahwa pertumbuhan ekonomi tidak boleh tidak harus sejalan dengan pembangunan sarana komunikasinya.

Pembangunan jaringan yang dilakukan sekaarang ini mencakup dimensi yang cukup besar, baik ditinjau dari segi jumlah sarana maupun dari segi jangkauan geografis pembangunannya. Dalam rangka mencapai keberhasilan pembangunan tersebut, perlu adanya rancangan yang menyeluruh sebagai pedoman atau acuan teknik bagi perencanaan pembangunan dan operasi jaringan nasional.

Namun dalam pemenuhan sarana komunikasi tersebut banyak terhambat oleh keterbatasan jaringan kabel yang menjadi prioritas pembangaunan jaringan saat ini. Keterbatasan ini sering disebabkan oleh keadaan lingkungan dan letak geografis suatu daerah yang mengakibatkan penarikan kabel membutuhkan biaya yang tidak sedikit dan waktu yang lama. Kondisi suatu kota dengan tingkat kepadatan penduduk, bangunan, dan jalan-jalan raya serta keadaan berupa hutan, lautan, pegunungan dan sebagainya merupakan kendala utama dalam pemasangan kabel yang berkaitan dengan instansi yang terkait dan biaya pemasangan yang mahal.

Referensi :

en.wikipedia.org/wiki/Spanning_tree_protocol
nic.unud.ac.id/.../A17%20SPANNING%20TREE%20PROTOKOL%20_802.pdf
www.sysneta.com/spanning-tree-protocol
www.cisco.com/univercd/cc/td/doc/.../stpapp.htm - Amerika Serikat
http://pondokskripsi.wordpress.com/2010/01/08/penerapan-algoritma-semut-untuk-pemecahan-masalah-spanning-tree-pada-kasus-pemasangan-jaringan-kabel-telepon/

algoritma binary search

BINARY SEARCH

Metoda Pencarian Biner ( Binary Search) hanya bisa diterapkan jika data array sudah teruru. pengurutan Array bisa menggunakan jenis sorting descending atau asscending. Kelebihan dari Searching dengan metode Binary Sort adalah Untuk Pencarian data yang jumlahnya banyak, waktu pencarian relatif cepat. selain itu beban komputasi juga lebih kecil karena pencarian dilakukan dari depan, belakang, dan tengah. namun ada pula kekurangannya, yaitu data harus disorting dahulu dan Algoritma lebih rumit, tidak baik untuk data berangkai.

Algoritma dari Binary Sort

Proses yang terjadi pada pencarian dengan metode ini adalah sebagai berikut :
1.Membaca Array data
2.Apabila Array belum terurut maka array diurutkan terlebih dahulu.
3.Menentukan data yang akan dicari
4.Menentukan elemen tengah dari array
5.Jika nilai elemen tengah sama dengan data yang dicari, maka pencarian berhenti.
6.Jika elemen tengah tidak sama dengan data yang dicari maka :
a.Jika nilai elemen tengah > data yang dicari maka pencarian dilakukan pada setengah array pertama.
b.Jika nilai elemen tengah lebih kecil dari pada data yang dicari maka pencarian dilakukan pada setengah array berikutnya.


ILUSTRASI BINARY SEARCH

Misalkan saya mempunyai data sebagai berikut : 3,1,4,7,25,12,40,78,90,65. Maka data tersebut akan dicek, ternyata setelah dicek datanya belum terurut, maka dengan menggunakan metoda sorting yang sudah ada, maka kita bisa mengurut data tersebut, menjadi : 1,3,4,7,12,25,40,65,78,90
Setelah data tersebut diurutkan maka fungsi binary sort baru mulai bekerja mencari data. berikut cara dari Binary sort mencari data tersebut. misalnya data yang dicari adalah 65. maka pencariannya dijelaskan pada tabel berikut ini :





Pada data range diberi warna Hijau. Pencarian dimulai dari tengah,Kiri dan kanan. rumus untuk Posisi tengahnya adalah ( Posisi Akhir + Posisi Awal )/2. jadi Nilai tengah pada langkah pertama yaitu adalah 12 (berwarna merah) dan nilai targetnya adalah 65 (kuning). Karena nilai data yang dicari > dari data yang ditengah, maka pencarian menjadi dikanan dari nilai tengah. Setelah itu, Maka nilai 12 menjadi awal pencarian, selanjutnya dicari kembali nilai tengah pada range nilai 12 ke kanan sampai pada array dengan nilai 90. ternyata nilai tengahnya adalah 40. kemudian array dari nilai 40 dibandingkan dengan target, ternyata lebih besar, maka pencarian kembali mengarah ke kanan nilai tengah. Array dengan nilai 40 menjadi titik awal pencarian sekarang. dan sekarang nilai tengah nya adalah 65. maka dibandingkan dengan target ternyata sama, maka data sudah Ditemukan.




Referensi : http://dharmaatmaja.wordpress.com/tag/binary-search/

LINKED LIST

PENGERTIAN

Linked List adalah salah satu bentuk struktur data, berisi kumpulan data (node) yang tersusun secara sambung menyambung, dinamis dan terbatas. Linked List sering disebut juga Senarai Berantai Linked List saling terhubung dengan bantuan variabel pointer. Dengan menggunakan linked list maka programmer dapat menimpan datanya kapanpun dibutuhkan. Linked list mirip dangan array, kecuali pada linked list data yang ingin disimpan dapat dialokasikan secara dinamis pada saat pengoperasian program (run-time).

Operasi-Operasi yang ada pada Linked List

- Insert
Istilah Insert berarti menambahkan sebuah simpul baru ke dalam suatu linked list.

- IsEmpty
Fungsi ini menentukan apakah linked list kosong atau tidak.

- Find First
Fungsi ini mencari elemen pertama dari linked list

- Find Next
Fungsi ini mencari elemen sesudah elemen yang ditunjuk now

- Retrieve
Fungsi ini mengambil elemen yang ditunjuk oleh now. Elemen tersebut lalu dikembalikan oleh fungsi.

- Update
Fungsi ini mengubah elemen yang ditunjuk oleh now dengan isi dari sesuatu

- Delete Now
Fungsi ini menghapus elemen yang ditunjuk oleh now. Jika yang dihapus adalah elemen pertama dari linked list (head), head akan berpindah ke elemen berikut.

- Delete Head
Fungsi ini menghapus elemen yang ditunjuk head. Head berpindah ke elemen sesudahnya.

- Clear
Fungsi ini menghapus linked list yang sudah ada. Fungsi ini wajib dilakukan bila anda ingin mengakhiri program yang menggunakan linked list. Jika anda melakukannya, data-data yang dialokasikan ke memori pada program sebelumnya akan tetap tertinggal di dalam memori.


Jenis-Jenis Linked List yaitu :

1. Singly linked list
2. Double linked list
3. Circular Linked List




Operasi-operasi untuk Singly Linked List :


- IsEmpty
Fungsi memeriksa apakah singly yang ada masih kosong.

- Push
Fungsi memasukkan elemen baru ke dalam singly. Push di sini mirip dengan insert dalam single linked list biasa.

- Pop
Fungsi ini mengeluarkan elemen teratas dari singly.

- Clear
Fungsi ini akan menghapus singly yang ada.



Operasi-operasi Queue dengan Double Linked List :


- IsEmpty
Fungsi IsEmpty berguna untuk mengecek apakah queue masih kosong atau sudah berisi data. Hal ini dilakukan dengan mengecek apakah head masih menunjukkan pada Null atau tidak. Jika benar berarti queue masih kosong.

- IsFull
Fungsi IsFull berguna untuk mengecek apakah queue sudah penuh atau masih bisa menampung data dengan cara mengecek apakah Jumlah Queue sudah sama dengan MAX_QUEUE atau belum. Jika benar maka queue sudah penuh.

- EnQueue
Fungsi EnQueue berguna untuk memasukkan sebuah elemen ke dalam queue (head dan tail mula-mula meunjukkan ke NULL).

- DeQueue
Procedure DeQueue berguna untuk mengambil sebuah elemen dari queue. Hal ini dilakukan dengan cara menghapus satu simpul yang terletak paling depan (head).



# Circular Linked List


Circular Linked List (CLL) adalah Single Linked List yang pointer nextnya menunjuk pada dirinya sendiri. Jika Single Linked List tersebut terdiri dari beberapa node, maka pointer next pada node terakhir akan menunjuk ke node terdepannya.

Pengertian:
Node : rangkaian beberapa simpul
Single : artinya field pointer-nya hanya satu buah saja dan satu arah.
Linked List : artinya node-node tersebut saling terhubung satu sama lain.
Circular : artinya pointer next-nya akan menunjuk pada dirinya sendiri sehingga berputar.


Sumber :
[1] http://goblog.herisonsurbakti.com/2009/05/09/linked-list/
[2] http://id.wikipedia.org/wiki/Linked_list

LINKED LIST

PENGERTIAN

Linked List adalah salah satu bentuk struktur data, berisi kumpulan data (node) yang tersusun secara sambung menyambung, dinamis dan terbatas. Linked List sering disebut juga Senarai Berantai Linked List saling terhubung dengan bantuan variabel pointer. Dengan menggunakan linked list maka programmer dapat menimpan datanya kapanpun dibutuhkan. Linked list mirip dangan array, kecuali pada linked list data yang ingin disimpan dapat dialokasikan secara dinamis pada saat pengoperasian program (run-time).

Operasi-Operasi yang ada pada Linked List

- Insert
Istilah Insert berarti menambahkan sebuah simpul baru ke dalam suatu linked list.

- IsEmpty
Fungsi ini menentukan apakah linked list kosong atau tidak.

- Find First
Fungsi ini mencari elemen pertama dari linked list

- Find Next
Fungsi ini mencari elemen sesudah elemen yang ditunjuk now

- Retrieve
Fungsi ini mengambil elemen yang ditunjuk oleh now. Elemen tersebut lalu dikembalikan oleh fungsi.

- Update
Fungsi ini mengubah elemen yang ditunjuk oleh now dengan isi dari sesuatu

- Delete Now
Fungsi ini menghapus elemen yang ditunjuk oleh now. Jika yang dihapus adalah elemen pertama dari linked list (head), head akan berpindah ke elemen berikut.

- Delete Head
Fungsi ini menghapus elemen yang ditunjuk head. Head berpindah ke elemen sesudahnya.

- Clear
Fungsi ini menghapus linked list yang sudah ada. Fungsi ini wajib dilakukan bila anda ingin mengakhiri program yang menggunakan linked list. Jika anda melakukannya, data-data yang dialokasikan ke memori pada program sebelumnya akan tetap tertinggal di dalam memori.


Jenis-Jenis Linked List yaitu :

1. Singly linked list
2. Double linked list
3. Circular Linked List




Operasi-operasi untuk Singly Linked List :


- IsEmpty
Fungsi memeriksa apakah singly yang ada masih kosong.

- Push
Fungsi memasukkan elemen baru ke dalam singly. Push di sini mirip dengan insert dalam single linked list biasa.

- Pop
Fungsi ini mengeluarkan elemen teratas dari singly.

- Clear
Fungsi ini akan menghapus singly yang ada.



Operasi-operasi Queue dengan Double Linked List :


- IsEmpty
Fungsi IsEmpty berguna untuk mengecek apakah queue masih kosong atau sudah berisi data. Hal ini dilakukan dengan mengecek apakah head masih menunjukkan pada Null atau tidak. Jika benar berarti queue masih kosong.

- IsFull
Fungsi IsFull berguna untuk mengecek apakah queue sudah penuh atau masih bisa menampung data dengan cara mengecek apakah Jumlah Queue sudah sama dengan MAX_QUEUE atau belum. Jika benar maka queue sudah penuh.

- EnQueue
Fungsi EnQueue berguna untuk memasukkan sebuah elemen ke dalam queue (head dan tail mula-mula meunjukkan ke NULL).

- DeQueue
Procedure DeQueue berguna untuk mengambil sebuah elemen dari queue. Hal ini dilakukan dengan cara menghapus satu simpul yang terletak paling depan (head).



# Circular Linked List


Circular Linked List (CLL) adalah Single Linked List yang pointer nextnya menunjuk pada dirinya sendiri. Jika Single Linked List tersebut terdiri dari beberapa node, maka pointer next pada node terakhir akan menunjuk ke node terdepannya.

Pengertian:
Node : rangkaian beberapa simpul
Single : artinya field pointer-nya hanya satu buah saja dan satu arah.
Linked List : artinya node-node tersebut saling terhubung satu sama lain.
Circular : artinya pointer next-nya akan menunjuk pada dirinya sendiri sehingga berputar.


Sumber :
[1] http://goblog.herisonsurbakti.com/2009/05/09/linked-list/
[2] http://id.wikipedia.org/wiki/Linked_list