1.
PEMBAHASAN.
Struktur Algoritma. Struktur dasar algoritma terbentuk dari tiga struktur
dasar, yakni struktur berurutan,struktur percabangan/pemilihan/keputusan dan
struktur pengulangan. Dalam bahasa pemrograman ketiga dasar pembentuk sebuah
algoritma tersebut dikenal dengan sequencing, ranching danlooping. Pada
dasarnya hampir semua algoritma merupakan gabungan daristruktur tersebut.
Algoritma Berurutan (Sequencing) Struktur berurutan ini dapat dianalogikan
dengan kita berjalan lurus atau kendaraan yangmeluncur dijalan yang lurus.
Langkah demi langkah atau kilometer demi kilometer kita harusmelaluinya
sehingga tahapan demi tahapan harus dilalui sesuai dengan urutannya. Dapat
jugakita analogikan dengan mencatat mata pelajaran, kata demi kata dan kalimat demi
kalimat kitamenyalinnya secara berurutan sampai selesai.Struktur berurutan bisa
terdiri dari satu dan atau beberapa instruksi. Intruksi intruksitersebut akan
dieksekusi oleh komputer sesuai dengan urutannya. Oleh sebab itu maka
pentingnya sistematika yang tepat dan benar agar algoritma tersebut
menghasilkan “output”yangkita harapkan. Menurut Goldshlager dan A. Lister,
struktur berurutan mengikuti ketentuansebagai berikut; •Tiap instruksi
dikerjakan satu demi satu. •Tiap instruksi hanya dilakukan/dilaksanakan tepat
satu kali, tidak ada pengulangan •Urutan pelaksanaan yang dilakukan oleh
komputer(pemroses) sama dengan urutan yangditulis dalam algoritmanya. •Akhir
dari instruksi terakhir, merupakan akhir algoritma Synchronous
berurutan/sequetial logika Hampir semua hari logika sekuensial clock atau
logika sinkron. Dalam rangkaian sinkron, osilator elektronik yang disebut jam
menghasilkan urutan pulsa berulang yang disebut sinyal clock yang
didistribusikan kepada semua elemen memori di sirkuit. Unsur memori dasar dalam
logika sekuensial adalah flip-flop. Output dari masing-masing flip-flop
perubahan hanya bila dipicu oleh pulsa clock, sehingga perubahan sinyal logika
seluruh rangkaian semua mulai pada saat yang sama, secara berkala,
disinkronisasi oleh jam. Output dari semua elemen penyimpanan (sandal jepit) di
sirkuit pada waktu tertentu, data biner yang dikandungnya, disebut keadaan
sirkuit. Keadaan sirkuit sinkron hanya perubahan pada jam pulsa. Pada setiap
siklus, negara berikutnya ditentukan oleh keadaan saat ini dan nilai dari
sinyal input ketika pulsa clock terjadi. Keuntungan utama dari logika sinkron
adalah kesederhanaannya. Gerbang logika yang melakukan operasi pada data
memerlukan jumlah waktu yang terbatas untuk merespon perubahan masukan mereka. Ini
disebut delay propagasi. Interval antara jam pulsa harus cukup lama sehingga
semua gerbang logika memiliki waktu untuk menanggapi perubahan dan output
mereka "puas" dengan nilai-nilai logika yang stabil, sebelum pulsa
clock berikutnya terjadi. Selama kondisi ini terpenuhi (mengabaikan rincian
tertentu lainnya) sirkuit dijamin akan stabil dan dapat diandalkan. Hal ini
menentukan kecepatan operasi maksimum dari rangkaian sinkron. Logika sinkron
memiliki dua kelemahan utama: Clock rate maksimum yang mungkin ditentukan oleh
jalur logika paling lambat di sirkuit, atau dikenal sebagai jalur kritis.
Setiap perhitungan logis, dari yang paling sederhana sampai yang paling
kompleks, harus menyelesaikan dalam satu siklus clock. Jadi logika jalan yang
menyelesaikan perhitungan mereka cepat yang menganggur banyak waktu, menunggu
pulsa clock berikutnya. Oleh karena itu logika sinkron dapat lebih lambat
daripada logika asynchronous. Salah satu cara untuk mempercepat sirkuit sinkron
adalah untuk membagi operasi kompleks menjadi operasi sederhana beberapa yang
dapat dilakukan dalam siklus jam berturut-turut. teknik yang dikenal sebagai
pipelining. Teknik ini banyak digunakan dalam desain mikroprosesor, dan
membantu untuk meningkatkan kinerja prosesor modern. Sinyal clock harus
didistribusikan ke setiap flip-flop dalam rangkaian. Seperti jam biasanya
sinyal frekuensi tinggi, distribusi ini mengkonsumsi jumlah yang relatif besar
kekuasaan dan membuang panas banyak. Bahkan sandal jepit yang melakukan apa-apa
mengkonsumsi sejumlah kecil daya, sehingga menghasilkan limbah panas dalam
chip. Dalam perangkat portable yang memiliki daya baterai yang terbatas, sinyal
clock berjalan bahkan bila perangkat tidak digunakan, memakan daya.
Asynchronous logika sekuensial Logika sekuensial asynchronous tidak
disinkronkan oleh sinyal clock, output dari rangkaian perubahan secara langsung
dalam menanggapi perubahan masukan. Keuntungan logika asynchronous adalah bahwa
hal itu dapat lebih cepat daripada logika sinkron, karena sirkuit tidak harus menunggu
sinyal clock untuk input proses. Kecepatan perangkat berpotensi hanya dibatasi
oleh penundaan propagasi dari gerbang logika yang digunakan. Namun, logika
asynchronous lebih sulit untuk merancang dan tunduk pada masalah tidak ditemui
dalam desain sinkron. Masalah utama adalah bahwa unsur-unsur memori digital
sensitif terhadap sinyal masukan agar mereka tiba, jika dua sinyal tiba di
gerbang logika pada waktu yang hampir bersamaan, yang menyatakan sirkuit masuk
ke dapat bergantung pada sinyal yang sampai ke gerbang pertama. Oleh karena
sirkuit bisa masuk ke negara yang salah, tergantung pada perbedaan-perbedaan
kecil dalam penundaan propagasi dari gerbang logika. Ini disebut kondisi lomba.
Masalah ini tidak separah di sirkuit sinkron karena output dari elemen memori
hanya mengubah pada setiap pulsa clock. Interval antara sinyal clock ini
dirancang untuk menjadi cukup lama untuk memungkinkan output dari elemen memori
untuk "menyelesaikan" sehingga mereka tidak berubah ketika jam
berikutnya datang. Oleh karena itu masalah waktu hanya karena "input
asynchronous", input ke sirkuit dari sistem lain yang tidak disinkronkan
dengan sinyal clock. Sirkuit sekuensial Asynchronous biasanya digunakan hanya
dalam bagian kritis beberapa sistem lain di mana kecepatan sinkron adalah pada
premium, seperti bagian dari mikroprosesor dan sirkuit pemrosesan sinyal
digital, desain logika asynchronous menggunakan model matematika yang berbeda
dan teknik dari logika sinkron, dan merupakan area aktif penelitian. Algoritma
Binary & Sequential Search Binary Search adalah algoritma pencarian yang
lebih efisien daripada algorima Sequential Search. Hal ini dikarenakan
algoritma ini tidak perlu menjelajahi setiap elemen dari tabel. Kerugiannya
adalah algoritma ini hanya bisa digunakan pada tabel yang elemennya sudah
terurut baik menaik maupun menurun.Pada intinya, algoritma ini menggunakan
prinsip divide and conquer, dimana sebuah masalah atau tujuan diselesaikan
dengan cara mempartisi masalah menjadi bagian yang lebih kecil. Algoritma ini membagi
sebuah tabel menjadi dua dan memproses satu bagian dari tabel itu saja.
Algoritma ini bekerja dengan cara memilih record dengan indeks tengah dari
tabel dan membandingkannya dengan record yang hendak dicari. Jika record
tersebut lebih rendah atau lebih tinggi, maka tabel tersebut dibagi dua dan
bagian tabel yang bersesuaian akan diproses kembali secara rekursif. contoh
program searching (binary) pada c++ : #include
#include int data[10] = {1,3,4,7,12,25,40,65,78,90}; //variabel global int
binary_search(int cari) { int l,r,m; int n = 10; l = 0; r = n-1; int ketemu =
0; while(l<=r && ketemu==0) { m = (l+r)/2; if( data[m] == cari )
ketemu = 1; else if (cari < data[m]) r = m-1; else l = m+1; } if(ketemu ==
1) return 1; else return 0; } void main() { clrscr(); int cari,hasil;
cout<<”masukkan data yang ingin dicari = “; cin>>cari; hasil =
binary_search(cari); if(hasil == 1) { cout<<”Data ada!”< #include void
main() { clrscr(); int data[8] = {8,10,6,-2,10,7,1,100}; int cari,index; int
ketemu=0; cout<<”masukkan data yang ingin dicari = “; cin>>cari;
for(int i=0;i<8 data-blogger-escaped-0=""
data-blogger-escaped-100="" data-blogger-escaped-10=""
data-blogger-escaped-12="" data-blogger-escaped-1=""
data-blogger-escaped-2="" data-blogger-escaped-3=""
data-blogger-escaped-4="" data-blogger-escaped-50=""
data-blogger-escaped-5="" data-blogger-escaped-6="6"
data-blogger-escaped-7="" data-blogger-escaped-8=""
data-blogger-escaped-:="" data-blogger-escaped-a="" data-blogger-escaped-ada=""
data-blogger-escaped-adalah="" data-blogger-escaped-akan=""
data-blogger-escaped-algoritma=""
data-blogger-escaped-array="" data-blogger-escaped-ata=""
data-blogger-escaped-atau=""
data-blogger-escaped-berarti="" data-blogger-escaped-berikut:=""
data-blogger-escaped-beruntun=""
data-blogger-escaped-berurut=""
data-blogger-escaped-boolean.=""
data-blogger-escaped-boolean=""
data-blogger-escaped-break="" data-blogger-escaped-cara=""
data-blogger-escaped-cari="" data-blogger-escaped-cocok=""
data-blogger-escaped-cout="" data-blogger-escaped-cukup=""
data-blogger-escaped-dalam="" data-blogger-escaped-dan=""
data-blogger-escaped-dari="" data-blogger-escaped-data-data=""
data-blogger-escaped-data.="" data-blogger-escaped-data=""
data-blogger-escaped-demi="" data-blogger-escaped-dengan=""
data-blogger-escaped-di="" data-blogger-escaped-dicari=""
data-blogger-escaped-digunakan=""
data-blogger-escaped-dilakukan="" data-blogger-escaped-dimensi=""
data-blogger-escaped-dimulai="" data-blogger-escaped-dipahami.=""
data-blogger-escaped-diperiksa.=""
data-blogger-escaped-diperoleh=""
data-blogger-escaped-ditemukan.=""
data-blogger-escaped-ditemukan=""
data-blogger-escaped-dua="" data-blogger-escaped-elemen=""
data-blogger-escaped-else="" data-blogger-escaped-endl=""
data-blogger-escaped-getch="" data-blogger-escaped-harga=""
data-blogger-escaped-hasil=""
data-blogger-escaped-hingga="" data-blogger-escaped-i=""
data-blogger-escaped-if=""
data-blogger-escaped-ilustrasi=""
data-blogger-escaped-index="" data-blogger-escaped-ini=""
data-blogger-escaped-iterasi=""
data-blogger-escaped-jenis="" data-blogger-escaped-jika=""
data-blogger-escaped-kali="" data-blogger-escaped-kasus=""
data-blogger-escaped-ke-1="" data-blogger-escaped-ke=""
data-blogger-escaped-kelompok=""
data-blogger-escaped-kemudian=""
data-blogger-escaped-ketemu="="
data-blogger-escaped-kita=""
data-blogger-escaped-kompleksitas=""
data-blogger-escaped-larik="" data-blogger-escaped-linear=""
data-blogger-escaped-linier="" data-blogger-escaped-macam=""
data-blogger-escaped-melakukan=""
data-blogger-escaped-membandingkan=""
data-blogger-escaped-meminta=""
data-blogger-escaped-mempunyai=""
data-blogger-escaped-menampilkan="" data-blogger-escaped-mencari=""
data-blogger-escaped-mencocokan="" data-blogger-escaped-metode=""
data-blogger-escaped-misalnya=""
data-blogger-escaped-mudah="" data-blogger-escaped-mulai=""
data-blogger-escaped-n="" data-blogger-escaped-nilai=""
data-blogger-escaped-nmax="" data-blogger-escaped-o=""
data-blogger-escaped-pada=""
data-blogger-escaped-pembahasan=""
data-blogger-escaped-pencairan=""
data-blogger-escaped-pencarian=""
data-blogger-escaped-pencocokan=""
data-blogger-escaped-pengulangan="" data-blogger-escaped-per=""
data-blogger-escaped-pertama="" data-blogger-escaped-program=""
data-blogger-escaped-proses="" data-blogger-escaped-sama=""
data-blogger-escaped-sampai="" data-blogger-escaped-satu=""
data-blogger-escaped-search="" data-blogger-escaped-sebagai=""
data-blogger-escaped-sebanyak="" data-blogger-escaped-sebuah=""
data-blogger-escaped-secara=""
data-blogger-escaped-sederhana=""
data-blogger-escaped-sehingga="" data-blogger-escaped
By : AHMAD HIDAYATULLAH ICHSAN_RPL SMK NEGERI 8 SEMARANG
content tentang mapel produktif masih sangat kurang!
BalasHapus