Algoritma
Algoritma adalah inti dari pemecahan masalah dalam dunia
komputasi, algoritma dapat di anggap sebagai serangkaian langkah-langkah yang
di definisikan secara jelas untuk menyelesaikan suatu tugas atau masalah.
A. Fungsi algoritma dalam pemrograman
Fungsi utama dari algoritma adalah sebagai
penyelesaian masalah dalam konteks pemrograman. Algoritma pemrograman memiliki
peran penting dalam aktifitas pembuatan program dan memberikan sejumlah
keuntungan. Berikut mascam-macam fungsinya.
a.
Memecahkan masalah yang rumit, algoritma dapat
mengatasi masalah kompleks dengan cara yang terstruktur dan terurut, meskipun
program yang akan dibuat sangat kompleks penerapan algoritma yang tepat memungkinkan
penyelesaian yang efesien.
b.
Membuat program lebih sederhana pada sebuah program
, banyak fungsi yang di susun semuah
fungsi menjadi satu fungsi utama algoritma berperanpenting dalam menyusun
semuah fungsi secara urut, menciptakan satu fungsiutama secara keseluruhan pada program yang
dihasilkan
c. Dapat
digunakan secara berulang algoritma dapat digunakan kembali karena logika
pemerograman tidk mengalami pembaruan seiring perkembangan bahasa, tools, dan
framework. Meskipun lingkungan pemrograman berubah, algoritma yang telah
ditetapkan dapat tetap dipakai jika latar pemrogramanya sama.
d.
Mampu merapikan program yang dihasilkan
pengunaan algoritma yang tepat dapat
merapikan struktur pemrograman menyciptakan alur yang terstruktur, dan
memberikan kemudahan pada pemrograman lain untuk memahaminya bahkan jika mereka
tidak terlibat dalam proses pembuatanya.
e.
Mudah menemukan kesalahan algoritma membantu
dalam proses pengecekan kesalahan dengan menyusun program secara terstruktur
hal ini mempermudah penemuan perbaikan kesalahan sehingga proses pengembangan
program menjasi lebih efesien dan efektif.
JENIS-JENIS ALGORITMA
Berikut
adalah jenis-jenis algoritma
1. Algoritma sekuensial algoritma sekuensial adalah
algoritma jenis algoritma yang melibatkan langkah-langkah atau intruksi yang
dijalankan secara berurutan atau skwensial. Setiap langkah dijalankan satu
persatu sesuai urutan yang di tentukan, tanpa ada percabangan atau perulangan.
2. Algoritma perulangan algoritma perulangan juga
dikenal sebagai lagoritma iterative. Melibatkan perulangan atau perulangan
langkah-langkah tertentu, algoritma perulangan digunakan ketika suatu tugas
harus diulang beberapa kali hingga suatu kondisi terpenuhi.. contoh umum dari
algoritma perulangan adalah mengunakan loop atau iterasi dalam pemrograman
3. Algoritma percabangan atau bersarat algoritma melibatkan pengambilan keputusan berdasarkan kondisi
tertentu. Intruksi-intruksi dijalanakan secara berbeda tergantung pada suatu
kondisi benar atau salah.
Notasi Algoritma
Notasi digunakan untuk mendokumentasikan langkah-langkah
suatu algoritma agar dapat dippahami oleh pembaca. Berikut adalah beberapa
notasi algoritma.
1. Peseudocode
Peseudocode adalah campuran bahasa alami
dan sintaksi pemrograman. Hal ini memberikan gambaran umum tentang algoritma
tanpa terikat dengan bahasa pemrograman tertentu.
Tujuan memakai peseudocode agar dapat membuat algoritma dengan rancangan
struktur program yang efieien sebelum ditulih kedalam bahasa pemrograman
tertentu. Secara umum penulisan
peseudocode terbagi kedalam tiga bagian
yaitu sebagai berikut.
a.
Bada bagian ini kita menulikan judul dari suatu
program yang akan dibuat biasanya judul diawalai dengan kata “program” atau “algoritma” kemudian diikuti dengan nama
program yang ingin dibuat Contoh pemrograman menghitung luas_lingkaran
atau program penghitung gaji_karyawan.
b.
Pada
bagian ini kita bias menulis semuah variable yang diinisalisasikan di dalam
suatu program. Biasanya mneguanakan kata kunci ’var’ diikuti dengan nama
variable dan tipe data yang digunakan.
c.
Bagian ini merupakan bagian utama pada suatu
program dimana terdiri dari perintah program terstruktur baik berupa
kondisi perulangan dan lainya.
2. Water Daigeram
Diagram air mengunakan symbol-simbol grafis untuk menggambarkan langkah-langkah algoritma dan hubungan
langkah-langkah tersebut.
3. Structured English
Structured notasi ini mengunakan
bahasa alamai yang terstruktur dan
mendekati bentuk kode pemrograman. Structurted English membantu dalam
mendokumentasikan algoritma dengan jelas.
4. Flowchart
Flowchart adalah representasi visual algoritma
mengunakan symbol-simbol seperti kotak,
panah, dan berlian.Hal ini memberikan gambaran
yang jelas tentang alur ekskusi, Berikut
beberapa symbol flowchart.
|
|
Flow direction symbol Yitu symbol yang digunakan untuk menghubungkan
antara symbol yang satu dengan yang lain
|
Simbol manual input
Symbol untuk pemasukan data secara
manual on-line keyboard
|
|
|
|
|
Terminator yaitu symbol untuk permulaan
(start) atau akhir (stop) dari suatu kegiatan
|
|
Symbol preparation symbol untuk
mempersiapkan penyimpanan yang akan digunakan sebagai tempat pengolahan
didalam storeg
|
|
|
|
|
Connect symbol yaitu symbol untuk
keluar masuk atau penyambung
proses pada lembar / halaman yang berbeda
|
|
Symbol predefine proses symbol untuk
pelaksanaan suatu bagian ( sub-program ) / prosedure
|
|
|
|
|
Conector symbol yaitu symbol untuk keluar masuk atau penyambung proses dalam lembar / halaman yang sama |
|
Symbol display symbol yang menyatakan peralatan otput yang
digunakan yaitu layar, plotter, printer dan sebagainya
|
|
|
|
|
Prosesing symbol symbol yang menunjukan
pengolahan yang dilakukan oleh komputer
|
|
Symbol disk and On-Line Storeg Simbol
yang menyatakan input yang berasal dari disk atau disimpan di disk
|
|
|
|

|
Simbol manual opration symbol yang
menunjukan pengolahan yang tidak
dilakukan oleh computer
|
|
Simbol magnetic tape unit symbol yang
menyatakan input berasal adari
pita magnetic atau otput di simpat ke pita magnetik
|
|
|
|
|
Simbol decision symbol pemilihan
proses berdasarkan kondisi yang
ada
|
|
Simbol punch cardsimbol yang menyatakan
bahwa input berasal dari kartu
atau otput di tulis ke kartu
|
|
|
|
|
Simbol Input Otput Simbol yang
menyatakan proses input dan otput
tanpa tergantung dengan jenis perangkatnya
|
|
Simbol dokumen symbol yang menyatakan
input berasal dari dokumen dalam
bentuk kertas atau otput dicetak ke kertas
|
|
|
Optimasi penjadwalan
Otimasi penjadwalan adalah suatu proses
atau pendekatkan untuk meningkatkan efisiensi dan kinerja dalam menentukan atau alokasi
sumber daya pada suatu jadwal kegiatan,
hal ini melibatkan penggunaan strategi dan algoritma untuk, memainkan waktu penyelesaian atau memaksimalkan pemanfaatan sumber daya
yang tersedia. Guna merancang system dengan menggunakan algoritma
genetic dalam konteks optimal penjadwalan , beberapa komponen, perancangan
diperlukan.
a.
Data Flow Diagram (DFD).
DFD digunakan sebagai sebagai kegembiraan
arus tada dalam system. Diagram ini menggambarkan komponen-komponen
system aliran data antara
komponen-komponen tersebut serta asala
dan tujuan data DFD Terdiri dari beberapa level , seperti diagram konteks , level 0, level 1 dan level
seterusnya. Diagam ini membantu pemahaman tentang bagimana data mengalir di
dalam system.
b.
Diagram Konteks
Diagram konteks memberikan gambaran
secara umum bagaimana system bekerja
hal ini memberikan pandangan tingkat tinggi tentang interaksi system
dengan lingkunganya diagram konteks diperoleh dari hasil analisis dari
pengumpulan data yang mengkhususkan
ruang analis data dan pengumpulan data.
c.
Entity relationzip diagram (ERD)
ERD digunakan sebagai langkah awal
dalam proses perancangan basis
data apabila system yang akan dirancang melibatkan basis data, ERD Akan
menunjukan hubungan antrentitas. ERD membeantu dalam pemodelan data dan
menentukan stuktur basisi data yang
diperlukan untuk mendukung algoritma genetic dan optimasi penjadwalan
d.
Algoritma genetic
Langkah-langkah dan komponen algoritma genetic perlu di implementasikan ,
hal ini melibatkan repersentasi kromosom , fungsi sleksi, crossaver, mutasi dan
evaluasi, fitness. Algoritma genetic digunakan untuk menghasilkan solusi yang
optimal dalam konteks penjadwalan.
e.
Integrasi dengan system komputasi
Integrasi semuah komponen kedalam system komputasional melibatkan
implementasi algoritma genetic.
Integrasi data flow sesuai DFD, dan pemodelan basis data sesuai ERD.
Sistem
ini akan menjadi landasan untuk melakukan optimasi penjadwlaan dengn nebgunakan
algoritma genetic.