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

PERKEMBANGAN KOMPUTER DAN PENERAPAN PADA DI BIDANG ELEKTRONIK

SEJARAH PERKEMBANGAN KOMPUTER

beberapa waktu yang lalu, proses pengolahan data telah dilakukan oleh manusia. Manusia juga menemukan alat-alat mekanik dan elektronik untuk membantu manusia dalam penghitungan dan pengolahan data supaya bisa mendapatkan hasil lebih cepat. Komputer yang kita temui saat ini adalah suatu evolusi panjang dari penemuan-penemuan manusia sejah dahulu kala berupa alat mekanik maupun elektronik. Saat ini komputer dan piranti pendukungnya telah masuk dalam setiap aspek kehidupan dan pekerjaan.

Komputer yang ada sekarang memiliki kemampuan yang lebih dari sekedar perhitungan matematik biasa. Diantaranya adalah sistem komputer di kassa supermarket yang mampu membaca kode barang belanjaan, sentral telepon yang menangani jutaan panggilan dan komunikasi, jaringan komputer dan internet yang mennghubungkan berbagai tempat di dunia.Bagaimanapun juga alat pengolah data dari sejak jaman purba sampai saat ini bisa kita golongkan ke dalam 4 golongan besar :

1. Peralatan manual: yaitu peralatan pengolahan data yang sangat sederhana,
dan faktor terpenting dalam pemakaian alat adalah menggunakan tenaga
tangan manusia.

2. Peralatan Mekanik: yaitu peralatan yang sudah berbentuk mekanik yang
digerakkan dengan tangan secara manual.

3. Peralatan Mekanik Elektronik: Peralatan mekanik yang digerakkan secara
otomatis oleh motor elektronik.

4. Peralatan Elektronik: Peralatan yang bekerjanya secara elektronik penuh
Tulisan ini akan memberikan gambaran tentang sejarah komputer dari masa ke
masa, terutama alat pengolah data.

Pendekatan ini didasarkan pada hasil kerja George Boole (1815-1864) berupa sistem biner aljabar, yang menyatakan bahwa setiap persamaan matematik dapat dinyatakan sebagai benar atau salah. Dengan mengaplikasikan kondisi benar-salah ke dalam sirkuit listrik dalam bentuk terhubung-terputus, Atanasoff dan Berry membuat komputer elektrik pertama di tahun 1940. Namun proyek mereka terhenti karena kehilangan sumber pendanaan.

Untuk mencapai keadaan komputer seperti saat ini, ternyata diperlukan proses yang sangat amat panjang. Berikut perkembangan komputer dari generasi ke generasi :

GENERASI PERTAMA

Perkembangan komputer generasi pertama umumnya dirancang untuk mengerjakan suatu tugas spesifik tertentu dimana hal ini dicirikan dengan adanya program kode-biner yang sangat berbeda. Hal ini membuat sistem kerja generasi komputer pertama sangat dibatasi.

GENERASI KEDUA

Perkembangan Komputer Generasi Kedua, ditandai dengan penemuan transistor pada tahun 1948, menggantikan fungsi tube vakum dalam televisi, radio, dan komputer. Secara resmi transistor digunakan pada komputer sejak 1956, dan sangat mempengaruhi ukuran komputer. Pengecilan ukuran komputer semakin dipercepat dengan pengembangan memori inti magnetik.

GENERASI KETIGA
Perkembangan Komputer Generasi Ketiga, dengan ditemukannya IC (Intergrated Circuit) pada 1958, disebabkan sistem kerja transistor yang menghasilkan panas sangat besar sehingga merusak komponen yang lainnya. IC terbuat dari batu quarsa yang ditemukan oleh seorang ilmuwan ahli instrument dari Texas, Jack Kilby. Penemuan penting selanjutnya, sebuah chip dapat mewakili beberapa komponen yang dibutuhkan oleh komputer. Akibatnya, komputer terlihat lebih bersahabat dan nyaman ketka digunakan, karena ukurannya yang semakin mengecil.

GENERASI KEEMPAT

Perkembangan Komputer Generasi Keempat, ditandai dengan ditemukannya Large Scale Integration (LSI), yang memuat ratusan komponen dalam hanya sebuah chip. Pada 1980 ditemukan produk turunannya yaitu 1980-an, Very Large Scale Integration (VLSI) yang memiliki kemampuan luar biasa untuk dapat memuat ribuan komponen hanya dalam sebuah chip tunggal.

Dan mungkin Ultra-Large Scale Integration (ULSI) yang memiliki kemampuan yang lebih luar biasa untuk dapat meningkatkan jumlah tersebut menjadi jutaan.

Contoh produk dipasaran adalah Chip Intel 4004 yang dibuat pada pertengahan tahun 1971. Inilah awal komputer dibuat dan disain untuk keperluan komersial yang terjangkau untuk semua pihak.

GENERASI KELIMA
Perkembangan Komputer Generasi Kelima (Komputer Masa Depan), nyatanya masih sebatas imajinasi, seperti film berjudul 2001:Space Odyssey karya Arthur C. Clarke. Dalam film tersebut, komputer dapat diprogram sehingga dapat mendekati pemikiran manusia, bahkan mampu memprogram dirinya sendiri sehingga bisa mengalahkan pemikiran manusia.

Meskipun gambaran visual yang ditayangkan dalam komputer tersebut masih jauh dari pemikiran kita dan realita, namun tanda-tanda untuk mewujudkan itu semua sudah terlihat. Sejauh ini telah ada komputer yang dapat diprogram untuk dapat merespon perintah secara lisan maupun nalar manusia.

Dewasa ini banyak kemajuan teknologi untuk mendukung perkembangan komputer, seperti ditemukannya kemampuan pemrosesan paralel yang direncanakan mengganti model non Neumann, dimana sistem pemrosesan paralel itu akan mampu bekerja mengkoordinasikan banyak CPU untuk secara serempak.

Ditemukan pula teknologi superkonduktor, yang menghantarkan informasi lebih cepat. Bagaimanapun, secanggih apapun kemampun komputer, maka tidak akan bisa mengalahkan kemampuan yang membuatnya, yaitu pikiran manusia.

PENERAPAN DI BIDANG ELEKTRONIKA

• Kecepatan dan ketepatan komputer sangat bermanfaat dalam pengolahan data padaaplikasi teknik

• Para ahli nuklir dapat membuat model reactor nulkir pada layar komputer, tidak perlu membuat model yang sebenarnya. Kondisikondisi yang diperlukan pada reaktor nuklir dapat diprogram, dan dapat dicoba diberikan data yang melampaui batas keamanan reactor tersebut.

• Komputer dapat juga digunakan untuk membuat model molekul-molekul, yang dapat ditampilkan secara grafik pada layar komputer. Melalui grafik ini, ahli kimia dapat mengamati bagaimana molekul-molekul tersebut bereaksi dengan yang lainnya.

• Komputer juga dapat dipergunakan pada bidang geologi untuk mempelajari keadaan tanah serta contour dari suatu daerah

• Aplikasi yang lain dari komputer dalam bidang teknik adalah computer aided design

TEKNIK SORTING DAN SEARCHING

SORTING


Dewasa ini kita tidak perlu lagi untuk mengurutkan kumpulan data - data dengan cara manual, karena era ini sudah banyak sekali metode atau program untuk melakukan kebutuhan sorting.

Ada 5 metode dalam teknik sorting, diantaranya adalah :

1. Comparison-Based Sorting (pengurutan berdasarkan perbandingan)
# Bubble sort, exchange sort

2. Priority Queue Sorting Method (pengurutan berdasarkan prioritas)
# Selection sort, heap sort

3. Insert and Keep Sorted Method (pengurutan berdasarkan penyisipan dan penjagaan terurut)
# Insertion sort, tree sort

4. Devide and Conquer Method(pengurutan berdasarkan pembagian dan penguasaan)
# Quick sort, merge sort

5. Diminishing Increment Sort Method (pengurutan berkurang menurun)
# Shell sort


- Bubble Sort

Teknik ini dilakukan degan pola membawa nilai terbesar menjadi nilai index terakhir array. jadi sistem ini melakukan pengecekan nilai 1 dengan 2, lalu 2 dengan 3 samapai dengan data terakhir, bila nilai index yang lebih kecil lebih besar maka akan dilakukan pertukaran. proses ini dilakuan hingga jumlah data.

- Exchange Sort

Teknik sorting ini dibuat dengan cara pola membawa nilai terbesar menjadi nilai index terakhir array. Jadi sistem ini melakukan pengecekan nilai 1 dengan 2, lalu 2 dengan 3 samapai dengan data terakhir, bila nilai index yang lebih kecil lebih besar maka akan dilakukan pertukaran. proses ini dilakuan hingga jumlah data dikurangi 1 atau sampai program tidak melakukan pertukaran. jadi waktu untuk melakukan proses sorting lebih cepat.

- Selection Sort

Teknik sorting ini dibuat dengan cara melakukan pengecek'an 1 persatu, bila kita akan mengurutkan secara ascending maka kita lakukan pengecek'an nilai tempat yang pertama (index pertama pada array)kita bandingkan dengan semua nilai yang ada kita cari nilai minimalnya. lalu simpan index/ letak nilai minimum itu di temukan, setelah pengecekan selesai tukar index awal pengecekan dengan nilai minimum yang telah di simpan tadi. Proses ini dilakukan terus menerus sampai pada pengecekan index terakhir min 1 dengan index terakhir. beda dengan streith selection sort adalah dengan teknik ini melakukan pertukaran nilai lebih sedikit, hanya jumlah data - 1 pertukaran. jadi waktu untuk melakukan proses sorting lebih cepat.

- Heap Sort

Teknik sorting ini dibuat dengan versi yang jauh lebih efisien selection sort. Ia juga bekerja dengan menentukan elemen (atau terkecil) terbesar daftar, menempatkan bahwa pada akhir (atau awal) dari daftar, kemudian melanjutkan dengan sisa daftar, tapi menyelesaikan tugas ini secara efisien dengan menggunakan struktur data yang disebut tumpukan, tipe khusus pohon biner. Setelah daftar data telah dibuat menjadi tumpukan, simpul akar dijamin menjadi unsur (atau terkecil) terbesar. Ketika dipindahkan dan ditempatkan di akhir daftar, tumpukan adalah ulang sehingga elemen terbesar yang tersisa bergerak ke akar. Menggunakan heap, menemukan elemen terbesar berikutnya membutuhkan O (log n) waktu, bukan O (n) untuk linear scan di selection sort sederhana. Hal ini memungkinkan heapsort untuk menjalankan dalam O (n log n) waktu, dan ini juga merupakan kompleksitas kasus terburuk.

- Insertion Sort

Teknik sorting ini dibuat dengan cara menyisipkan atau memasukkan 1 persatu, bila kita akan mengurutkan data, kemudian ingin menyisipkan suatu data maka data tersebut akan otomatis masuk dimana dia berada.

- Quick Sort

Teknik sorting ini dibuat dengan cara yang menggunakan partisi. Pada teknik ini, data dibagi menjadi dua bagian, yaitu data disebelah kiri partisi selalu lebih kecil dari data disebelah kanan. Namun data pada kedua partisi belum terurut, sehingga untuk mengurutkannya, proses pengurutan dilakukan pada kedua partisi secara terpisah. Selanjutnya, data di sebelah kiri dan kanan dipartisi lagi.

- Merge Sort

Teknik sorting ini dibuat dengan cara mengambil keuntungan dari kemudahan penggabungan daftar sudah disortir ke daftar diurutkan baru. Dimulai dengan membandingkan setiap dua elemen (yaitu, 1 dengan 2, kemudian 3 dengan 4 ...) dan swapping mereka jika yang pertama datang setelah kedua. Kemudian masing-masing menggabungkan daftar yang dihasilkan dari dua ke daftar empat, kemudian menggabungkan daftar tersebut empat, dan seterusnya, sampai akhirnya dua daftar digabungkan ke dalam daftar diurutkan akhir.

- Shell Sort

Teknik sorting ini dibuat dengan cara meningkatkan atas bubble sort dan insertion sort dengan menggerakkan keluar dari elemen-elemen memesan lebih dari satu posisi pada suatu waktu. Salah satu implementasi dapat digambarkan sebagai mengatur urutan data dalam array dua dimensi dan kemudian menyortir kolom dari array menggunakan insertion sort.


SEARCHING


Teknik searching merupakan suatu proses pencarian data dari sejumlah data yang ada. Pencarian data dapat dilakukan pada sejumlah data yang sudah terurut atau juga pada data yang sama sekali belum terurut. dalam pencarian data juga terdapat beberapa jenis algoritma, tujuan dari adanya banyak algoritma yang di temukan adalah karena memiliki keuntungan-keuntungan tersendiri, seperti lebih cepatnya bila mengolah data yang jumlahnya lebih dari juta data, ada yang lebih efisien dengan jumlah kurang dari jutaan. serta ada pula yang tidak perlu untuk mengurutkan data terlebih dahulu, tetapi memakan waktu lebih lama.


Ada beberapa jenis teknik searching, sebagai berikut :


1. Line Search

Line Search adalah suatu teknik searching ini dibuat dengan cara melakukan pengecek'an 1 persatu, yaitu antara data yang di cari dengan kumpulan data yang di miliki, Keuntungan metode ini adalah kita tidak perlu mengurutkan data yang ada, bila mencari data pada kumpulan data yang tidak urut hanya terdapat metode ini yang dapat di lakukan.

2. Fibonachi Search

Fibonachi Search yaitu suatu teknik ini hanya dapat digunakan hanya pada kumpulan data yang sudah di urutkan, karena teknik ini melakukan pencarian dengan mencari data melalui pola bilangan fibonachi. Bila pada binnary search pembandingnya adalah nilai pada index tengahnya jumlah data, pada fibonachi search berbeda yaitu: bilangan fibonachi, yang bilangan fibonachinya terdekat dengan jumlah data tetapi tidak lebih besar dari jumlah data yang akan di proses. Bilangan fibonachi itu di jumlahkan dengan batas paling awal data dikurangi 1. Contohnya: jumlah data yang akan di cari adalah 15, maka batas paling bawah adalah 1 dan batas paling akhir=15 dan index pembandingnya= 13(nilai awal + dijumlahkan Bilangan fibonachi - 1) karena bilangan fibonachi terdekat dengan 15 (data ke 1- data ke 15) adalah 13 (1,2,3,5,8,13,21,34.....), bila data yang di cari lebih besar dari bilangan indeks ke tengahnya maka. batas paling bawah= tetap, batas akhir nilai tengah-1, bila data yang dicari lebih kecil maka batas bawah = nilai tengah +1 dan batas akhir tetap, sedangkan nilai tengahnya memakai fungsi tadi.

3. Sequential Search

Sequential search adalah suatu teknik pencarian data dalam array ( 1 dimensi ) yang akan menelusuri semua elemen-elemen array dari awal sampai akhir, dimana data-data tidak perlu diurutkan terlebih dahulu.

4. Binary Search

Binary search merupakan salah satu metode searching, binary search hanya bisa dilakukan pada data yg telah tersort ato terurut karena proses algoritmanya yg terus menerus membagi data menjadi 2 bagian hingga angka / input yg dicari ditemukan.



Sumber:
[1] http://sangadik.blogspot.com/2009/11/teknik-sortingpengurutan-data.html
[2] http://lightluna.wordpress.com/2008/10/24/prinsip-algoritma-pada-teknik-tencarian-search-engine/
[3] http://alpro.awardspace.com/tehnik.html
[4] http://mazterchez.blogspot.com/2010/04/teknik-sorting-dan-searching.html