Ahli Sejarah Matematika menemukan asal kata algoritmatersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction).
Dari judul buku itulah diperoleh akar kata “Aljabar” (Algebra).
Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran usm berubah menjadi uthm.Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya.
Dalam bahasa Indonesia,kata algorithm diserap menjadialgoritma.
Dalam MATEMATIKA dan KOMPUTASI, algoritma atau algoritme merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan HEURISTIK. Algoritma sering mempunyai langkah pengulangan (ITERASI) atau memerlukan keputusan (LOGIKA BOOLEAN dan PERBANDINGA) sampai tugasnya selesai.
Desain dan analisa algoritma adalah suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama.
Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.
Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawarizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 “Algorithmi de numero Indorum”. Pada awalnya kataAlgorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadialgoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.
SEJARAH PEMOGRAMAN
Pada tahun 1822, Charles Babbage seorang mahasiswa di Universitas Cambridge Inggris mengembangkan sebuah mesin untuk mengelola data-data agar mudah digunakan, mesin tersebut diberi nama ‘Difference Enggine’.
Setelah bekerja selama 10 tahun pada mesinnya, Charles Babbage menyadari bahwa mesin yang dia ciptakan ini merupakan sebuah mesin yang bersifat single-purpose machine artinya hanya bisa menghasilkan satu jenis keluaran (output). Selanjutnya ia mengembangkan mesin lain yang bersifat multi-purpose. Mesin ini diberi nama ‘Analytical Engine’. Pekerjaan untuk membuat ‘Analytical Engine’ ini ia lakukan sampai dengan tahun 1842.
ada tahun 1847, Charles Babbage kembali menyempurnakan ‘Difference Engine’ hingga pada tahun 1849 ia berhasil membuat versi keduanya. Pekerjaan menyempurnakan hasil-hasil karyanya terus ia lakukan, bahkan dilanjutkan oleh anaknya, Henry Prevost. Charles Babbage sendiri meninggal pada tahun 1871. Untuk melindungi karya-karya ayahnya, Henry Prevost membuat beberapa kopian unit perhitungan aritmatika sederhana dari mesin yang dihasilkan ayahnya dan mengirimkannya ke beberapa institusi di dunia, termasuk ke Universitas Harvard.
Perkembangan dunia komputasi berlanjut pada tahun 1854, ketika seseorang bernama Charles Boole berhasil menciptakan sebuah sistem logika simbolik yang diberinama Logika Boole. Sistem ini mencakup pula logika untuk menyatakan hubungan lebih besar, lebih kecil, sama dengan dan tidak sama dengan. Sistem logika ini masih digunakan sampai dengan saat ini.
Pada tahun 1890, Amerika Serikat ingin melakukan sensus penduduk. Namun kendala yang muncul adalah keterbatasan alat yang ada pada waktu itu, mengingat jumlah penduduk yang semakin meningkat setiap tahunnya, maka diadakanlah sebuah kompetisi komputasi untuk mencari solusinya. Kompetisi ini dimenangkan oleh Herman Hollerith, yang akhirnya ia mendirikan sebuah perusahaan Hollerith Tabulating, Co. yang akhirnya berubah nama menjadi CTR (Calculating Tabulating Recording Company) setelah 3 perusahan lain ikut bergabung. Sepuluh tahun berikutnya perusahaan ini berganti nama lagi menjadi IBM (International Business Machine) hingga saat ini.
Selanjutnya perkembangan komputasi digital mulai berjalan pelan dan jarang digunakan dalam dunia bisnis sampai dengan pertengahan tahun 1920-an. Hingga pada tahun 1925, MIT (Massachusette Institute of Technology) mengembangkan sebuah mesin yang mampu menganalisis perhitungan differensiasi dan integrasi. Mesin yang didanai oleh Yayasan Rockefeller ini dapat dikatakan sebagai komputer terbesar di dunia pada tahun 1930.
Pada tahun 1935, seorang ilmuan Jerman bernama Konrad Zuse mengembangkan komputer Z-1, komputer inilah yang menjadi awal mula diterapkannya sistem biner dalam kinerjanya. Selain itu, Zuse juga berjasa dalam komputasi komputer digital ketika ia menciptakan bahasa pemrograman komputer pertama ‘Plankalkul’.
Pada tahun 1945, terjadi pula peristiwa penting dalam sejarah perkembangan komputasi komputer digital yaitu ketika terjadi kerusakan pada mesin Mark II yang ada di Universitas Harvard. Seseorang yang bernama Grace Murray Hopper yang mengetahui hal ini langsung menyelidiki sebab kerusakannya. Akhirnya dia menemukan seekor ngengat yang terjebak dalam mesin tersebut. Dalam catatan hariannya, Hopper menuliskan: “First actual case of bug being found”. Dia menyebut ngengat ini sebagai sebuah kutu busuk (bug), selanjutnya kata ‘bug’ ini sering digunakan untuk menunjukkan adanya ketidakberesan dalam program. Dari kata ‘bug’ ini muncul pula istilah ‘debugging’ yang artinya proses pembetulan kesalahan program.
Pada tahun 1954, IBM mulai mengembangkan bahasa pemrograman FORTRAN (FORmula TRANslator). Bahasa FORTRAN merupakan bahasa pemrograman level tinggi pertama yang dikomersialkan. Pemrograman level tinggi maksudnya adalah perintah atau kodenya mudah dibaca dan dipahami oleh manusia.
Pada tahun 1958, FORTRAN II dan ALGOL dipublikasikan bersamaan dengan diluncurkannya LISP. Sedangkan pada tahun 1959, bahasa pemrograman COBOL juga diluncurkan. Sejak saat itu perkembangan bahasa pemrograman berkembang sangat cepat.
Pada tahun 1970, bahasa PASCAL mulai dipublikasikan dan hingga saat ini masih banyak digunakan untuk keperluan pendidikan. Selain itu muncul pula dua bahasa pemrograman yang dianggap sangat penting yaitu SMALLTALK dan B-Languange. SMALLTALK penting karena merupakan bahasa pemrograman berbasis obyek yang pertama. Sedangkan B-Languange dikatakan penting karena merupakan cikal bakal munculnya bahasa C. Dengan bahasa C, pemrograman akan lebih mudah, efisien, dan fleksibel.
Pada tahun 1975, Dr. Wong merilis bahasa pemrograman hasil ciptaannya bernama TinyBASIC. TinyBASIC merupakan bahasa pemrograman pertama yang bersifat free alias tidak membayar dalam penggunaannya. Pada tahun yang sama, Bill Gates dan Paul Allen juga membuat bahasa pemrograman yang diberi nama BASIC. BASIC ini selanjutnya mereka jual ke MIT.
Bahasa pemrograman terus berkembang demikian pesat hingga saat ini. Hal ini ditandai dengan semakin banyaknya bahasa pemrograman yang bermunculan.
Algoritma dapat didefinisikan sebagai berikut :
“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”.
Kata logis merupakan kata kunci dalam algoritma.
Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar.
Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu.
Dalam memilih dan membuat algoritma,kita harus melakukan pertimbangan dan pemilihan, antara lain:
1. Algoritma haruslah benar.
Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.
2. Kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut.
Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya.
3. Efisiensi algoritma.
Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut.
Algoritma Merupakan Jantung Ilmu Informatika
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer
yang diacu dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu
identik dengan ilmu komputer saja. Dalam kehidupan sehari-haripun banyak terdapat
proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yang
dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu
ada urutan langkah-lankah membuat masakan. Bila langkah-langkahnya tidak logis, tidak
dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan
akan membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses
sesuai yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut
pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alatalat
elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau
“mengeksekusi” algoritma yang menjabarkan proses tersebut.
Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma
tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya.
Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan
lagu berdasarkan papan not balok. Karena itu suatu Algoritma harus dinyatakan dalam
bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus :
1. Mengerti setiap langkah dalam Algoritma
2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
Mekanisme Pelaksanan Algoritma Oleh Pemroses
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer,
algoritma hasrus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program.
Jadi program adalah prwujudan atau implementasi teknis Algoritma yang ditulis dalam
bahasa pemrogaman tertentu sehingga dapat dilaksanakan oleh komputer.
Belajar Memprogram Dan Belajar Bahasa Pemrograman
Belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajar
memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian
menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Sedangakan
belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan tata
bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan
memanfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis hanya
dalam bahasa itu saja.
Sampai saat ini terdapat puluhan bahasa pemrogram. Yang dapat dibedakan berdasarkan
tujuan dan fungsinya.
Belajar Memprogram
• Belajar memprogram ≠ belajar bahasa pemrograman
• Belajar memprogram : belajar tentang strategi pemecahan masalah, metodologi dan
sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang
disepakati bersama
• Belajar memprogram : bersifat pemahaman persoalan, analisis dan sintesis
• Belajar memprogram, titik berat : designer program
Belajar Bahasa Pemrograman
• Belajar bahasa pemrograman : belajar memakai suatu bahasa pemrograman, aturan
sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa
• Belajar bahasa pemrograman , titik berat : coder
Produk yang dihasilkan pemrogram :
• program dengan rancangan yang baik (metodologis, sistematis)
• Dapat dieksekusi oleh mesin
• Berfungsi dengan benar
• Sanggup melayani segala kemungkinan masukan
• Disertai dokumentasi
• Belajar memprogram, titik berat : designer program
Algoritma
Aksi :
– kejadian yang terjadi pada selang waktu terbatas (dimulai saat T0 dan
berakhir pada saat T1)
– Menghasilkan efek netto yang terdefinisi dengan baik dan direncanakan
Contoh :
– Ibu Tati mengupas kentang untuk mempersiapkan makan malam..(luas
ruang lingkupnya)
– Karena ruang lingkup luas, maka harus didefinisikan keadaan awal dan efek
netto yang direncanakan ( Initial State dan Final State)
– Initial State (keadaan awal) : T0 kentang sudah ada dikantong kentang, dan
ditaruh di rak dapur dimana ibu Tati akan mengupasnya
– Final State (keadaan akhir) : T1 kentang dalam keadaan terkupas di panci,
siap untuk dimasak dan kantong kertasnya harus dikembalikan ke rak lagi.
– Kejadian : urut-urutan dari beberapa aksi yang terjadi secara berurutan.
– Efek kumulatif dari semua aksi yang terjadi menjadi efek netto dari kejadian
– Penggolongan suatu kejadian menjadi aksi adalah relatif tergantung dari
sudut pandang.
Pemrograman Prosedural
Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini berarti Algoritma
adalah proses yang procedural.
Definisi Prosedural menurut Kamus Besar Bahasa Indonesia :
1. Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas.
2. Metode langkah demi langkah secara eksak dalam memecahkan suatu masalah.
Pada pemrograman procedural, program dibedakan antara bagian data dengan bagian
instruksi. Bagian instruksi terdiri atas runtutan (sequence) instruksi yang dilaksanakan satu
per satu secara berurutan oleh pemroses. Alur pelaksanaan instruksi dapat berubah karena
adanya pencabangan kondisional. Data yang disimpan di dalam memori dimanipulasi oleh
instrusi secara beruntun atau procedural. Paradigma pemrograman seperti ini dinamakan
pemrograman procedural.
Bahasa-bahasa tingkat tinggi seperti Cobol, Basic, Pascal, Fortran dan C mendukung
kegiatan pemrograman procedural, karena itu mereka dinamakan juga bahasa procedural.
Selain paradigma pemrograman procedural, ada lagi paradigma yang lain yaitu
pemrograman berorientasi objek (Object Oriented Programming). Paradigma pemrograman
ini merupakan trend baru dan sangat populr akhir-akhir ini.
Paradigma pemrograman yang lain adalah pemrograman fungsional, pemrogramn
deklaratif dan pemrograman konkuren. Pada kesempatan ini penulis hanya menyajikan
paradigma pemrograman procedural saja.
PENGENALAN ALGORITMA
Algoritma adalah langkah-langkah atau urutan proses untuk mencapai sesuatu. Pada dasarnya, algoritma tidak hanya berkaitan dengan ilmu komputer. Sebagai contoh, langkag-langkah untuk memasak mie bisa dikatakan sebagai algoritma memasak mie
Dalam ilmu komputer, proses logis yang dilakukan secara berurutan untuk memecahkan sebuah permasalahan dengan bantuan komputer. Algoritma mengajarkan kita untuk mencari solusi terbaik dari setiap masalah yang ingin dipecahkan. Sedangkan bahasa pemrograman hanyalah sarana untuk menerjemahkan algoritma tersebut sehingga bisa dimengerti oleh komputer.
struktur algoritma secara umum :
Code:
nama program
initial state (is) : kondisi sebelum eksekusi program
final state (fs) : kondisi yang ingin dicapai
kamus : variabel yang dibutuhkan dalam program
algoritma : isi algoritma
contoh penulisan algoritma
Code:
program tampil_nama
IS : user menginputkan nama
FS : nama inputan user ditampilkan
kamus
nama : string
algoritma
input(nama)
output(nama)
terjemahan dalam pascal
Code:
program tampil_nama;
uses crt;
var
nama : string;
begin
write('masukan nama : '); readln(nama);
writeln('nama anda : ', nama);
readln;
end.
sekarang mari kita bahas tiap bagian :
[-] nama program
digunakan untuk menjelaskan atau memberi keterangan program apa sih yang kita buat. jadi buat memudahkan kita (dokumentasi). terus kalo dak diisi gimana ?? ya dak apa2. selama temen-temen inget tu program buat apa.
[-]
IS dan FS memberikan gambaran bagaimana sih program itu jalannya. kalo dalam pemrograman biasanya dibuat jadi bentuk komentar. penting dak ?? jawabannya tergantung. kalo program yang agan buat masih dalam skala kecil, ya dak masalah dak diisi. nah, kalo programnya kompleks plus gunain banyak fungsi ama prosedur, baru bermasalah kalo dak diisi

silakan coba sendiri aja ntar apa masalahnya
[-] kamus
untuk tempat deklarasiin variabel yang dibutuin. buat yang baru belajar, biasakan mendeklarasikan variabel di awal, walau ada beberapa bahasa yang memungkinkan pendeklarasian variabel dimana aja. tujuannya, ya biar program agan rapi trus dak pusing (ini berlaku buat yang baru belajar, kalo udah expert mah terserah aja).
hal yang paling penting dalam pendeklarasian variabel adalah tipe dari variabel tersebut. selama ini mungkin kita tahu kalo bilangan bulan kita bilang bertipe integer, tapi integer pun ada banyak jenis, misalnya ada byte, word, long ingt, integer, dll. terus apa bedanya ??
bedanya adalah kemampuan untuk menyimpan nilai yang bisa direpresentasikan. Bingung ???
ini maksudnya :
tipe byte merepresentasikan bilangan 0-255, jadi kalo agan masukin angka 300, tidak akan bisa disimpan karena angka tertingginya 255. nilai yang lebih dari 255 ini akan diulang lg dari 0 jadi 256=0, 257=1, dst. 300 akan menjadi 44.
terus kalo udah tau apa gunanya ?? pertama buat nangkal error program. kayak contoh di atas, kita maunya mroses bilangan ampe 1000 tapi malah tipenya byte. yang kedua, menghemat memori. misalnya kita cuman butuh nilai yang kurang dari 100, biasanya buat menu, kita pake tipe integer (max value = 32767), itu mubasir. padahal byte aja udah cukup.
kemudian penamaan variabel juga perlu diperhatikan, usahakan nama variabel sesuai dengan fungsi variabel. misal kita buat variabel namanya “nama” tapi isinya ternyata umur. buat yang baru belajar, usahakan memberikan penamaan variabel yang baik and konstan, biar dak pusing sendiri
berikut adalah tipe variabel yang ada dalam pascal :
a. Bilangan bulat
ini dipake buat merepresentasikan bilangan bulat. operasi yang bisa dilakukan adalah semua operasi aritmatik kecuali pembagian, maksudnya integer : integer = real. jangan pernah manyimpan hasil pembagian integer di dalam integer
adapun jenis-jenisnya :
- Byte = 0 s/d +255
- Shortint = -128 s/d +127
- integer = -32768 s/d 32767
- Word = 0 s/d 65535
- Longint = -2147483648 s/d 2147483647
b. Bilangan real
dipake buat nyimpen bilangan yang ada koma-komanya (pecahan)
c. char
dipake buat nyimpen 1 karakter. kalo karakternya banyak, bisa disimpen di string. jadi string itu kumpulan dari beberapa char
d. boolean
dipake buat nyimpen nilai bener salah (true/false)
e. array atau tabel
dipake buat nyimpen banyak nilai. modelnya kayak laci-laci. penjelasan lebih lanjutnya ntar.
itu contoh beberapa variabel yang ada dalam pascal. buat bahasa pemrograman lain, variabelnya lain juga. silakan teman-teman cari tau sendiri ya . . .
selain variabel, ada juga yang namanya constanta. sesuai namanya, kalau constanta nilainya tetap, tidak berubah. berbeda dengan variabel yang nilainya bisa berubah-rubah.
Struktur penulisan algoritma :
[-] Header
[-] Deklarasi
[-] Deskripsi
=> Header : Sebagai pengenal atau judul . . . kenapa..?? karena ketika programmer membuat sebuah program dan orang lain memakainya tanpa bertanya lagi kepada si pembuat bahwa itu program apa…dia sudah tau kalau program nya itu tentang apa…ckey..??!
=> Deklarasi : Tempat untuk mendefinisikan atau memperkenalkan elemen – elemen yang ada didalamnya yang kemudian nanti akan di pakai pada Program Utamanya ( Deskripsi ) contohnya : Varieble, Type Data dan Constanta.
Dimana :
[-] Varieble itu yang seperti dijelaskan di atas bahwa dia adalah suatu wadah atau tempat penampungan nilai yang dapat berubah-ubah.
[-] Type Data adalah suatu tempat yang sudah berisi nilai dan jarak – jarak tertentu.
[-] Constanta yaitu bilangan pasti ( Tetapan ) Contoh : phi = 3.14 atau 22/7.
=> Deskripsi : yaitu seperti yang orang katakan dan yang saya pelajari bahwa deskripsi itu adalah tempat untuk penyelesaian masalah…disinilah yang nanti hasil dari inputan / outputnya yang akan di kerjakan dan terselesaikan…
Jenis – Jenis Type Data secara Umum terbagi atas 2 yaitu :
[1] Sederhana
[2] Terstruktur
=> Sederhana terbagi atas 3 yaitu :
a. Numerik
b. AlfaNumerik
c. Logika
=> Numerik terbagi juga atas 2 bagian yaitu :
1. Bulat
2. Pecahan
Type data bilangan bulat contohnya : Byte, Integer, Word , Shortin , Longint dll . . .
kemudian type data bilangan pecahan contohnya : Real , Single, Double , Extended dll . . .
Teman-teman masih bisa cari sendiri ya karena masih banyak . . .
=> AlfaNumerik terbagi atas 2 yaitu :
1. Char
2. String
Dimana Char hanya terdiri dari satu karakter saja berupa huruf dan juga angka . . .
sedangkan String terdiri dari beberapa karakter ( lebih dari satu karakter )
=> Logika
Yang dimana didalamnya terdapat yaitu Boolean yang dikenal olehnya yaitu True / False
=> Terstruktur yaitu :
- Array
- Record
- Pointer
dll . . .
Jenis – Jenis Operator :
=> adapun jenis operator dalam Algoritma yaitu :
1. Aritmatika
2. Relasi ( Perbandingan )
3. Logika
=> Operator Aritmatika
contohnya : + , – , * , / , mod , div.
dimana dalam operator aritmatika tersebut ada tambahan yaitu mod dan div . . .
dimana Mod adalah sisa dari hasil bagi bilangan bulat sedangkan Div hasil bagi bilangan bulat . . .
=> Operator Relasi
contohnya : < , > , <= , >= , = , != .
=> Operator Logika
contohnya : and , or , not , Xor .
Dimana :
operator and didefinisikan : jika ada nilai yang bernilai salah berarti kondisinya akan salah
operator or didefinisikan : jika ada nilai yang bernilai benar berarti kondisinya akan benar
operator not didefinisikan : kebalikan dari nilai ( n )
operator Xor didefinisikan : kebalikan dari nilai and
{-} Fungsi dari Write ( cetak ) terbagi atas 3 yaitu :
[-] String : yang diapit oleh tanda pertik ( ‘ ). Contoh ‘Q’an Al-Quarizhmy’.
[-] Proses : yang dimana dalam percetakan tersebut terdapat proses. Contoh write(‘hasil : ‘,a+b);
[-] Variable : yang dimana dalam percetakan tersebut terdapat variable. Contoh write(‘hasil : ‘,a);
{-} Read : yaitu fungsinya untuk membaca atau bisa dikatakan menunggu inputan dari User (anda)
Seleksi
Penyeleksian dalam Algoritma ini terbagi atas dua yaitu :
1. IF
2. CASE
Pengertian dari IF : Jika kondisinya sudah terpenuhi maka dia akan berhenti dan melaukan percetakan kemudian berhenti. Tetapi apabila kondisinya tidak terpenuhi, maka dia akan kerjakan yang lainnya. Dengan catatan jika kondisinya itu Jamak ( Lebih dari satu kondisi ).
if terbagi lagi atas 3 yaitu :
- if tunggal
- if jamak, dan
- if bersarang
=> contoh penulisan if tunggal dalam struktur algoritma :
if . . . then
<statement>;
else
<statement>;
end if
=> contoh penulisan if jamak dalam struktur algoritma :
if . . . then
<statement>;
else if . . . then
<statement>;
else
<statement>
end if
=> contoh penulisan if bersarang dalam struktur algoritma :
if . . . then
if . . . then
<statement>;
else if . . . then
<statement>;
else if . . . then
<statement>;
else
<statement>;
end if
{ => Note : maksud dari titik di atas itu diisi dengan Kondisi nya . . .
Pengertian dari CASE : digunakan untuk memilih jika terdapat lebih dari dua kondisi yang setiapnya memerlukan penanganan yang berbeda. Langsung saja saya berikan contohnya ya agar teman-teman sedikit paham…
Contoh penulisan strukturnya :
Case (var) of
nilai1 : <statement>; break;
nilai2 : <statement>; break;
nilai3 : <statement>; break;
nilai-n : <statement>; break;
end;
Contoh program :
Deklarasi
harike : integer;
Begin
write(‘Hari ke = ’);
readln(harike);
case harike of
1: Writeln(‘Senin’);
2: Writeln(‘Selasa’);
3: Writeln(‘Rabu’);
4: Writeln(‘Kamis’);
5: Writeln(‘Jumat’);
6: Writeln(‘Sabtu’);
7: Writeln(‘Minggu’);
End;
End.
Hasil eksekusi dari program adalah:
Hari ke = 4
Kamis
Tentunya teman-teman pasti bertanya kira-kira ada tidak perbedaan antara IF dan CASE itu sendiri . . . ??
Lihat dari struktur penulisannya saja berbeda jadi perbedaannya pun ada . . .
sedikit kalau menurut saya pribadi perbedaanya yaitu :
Semua masalah yang di kerjakan oleh IF bisa terselesaikan sedangkan CASE semua masalah belum terselesaikan . . . kalau tidak percaya . . . silahkan teman-teman cari contoh yang agak rumit dan buktikan sendiri…ok…?!
Looping / Perulangan
Didalam perulangan ini terdapat tiga bagian yaitu :
[1] For => For to Do dan For downto Do
[2] While => While Do dan Do While
[3] Repeat – Until
contoh penulisan dari For :
For (var) <— … to … do For (var) <— … downto … do
write(statement); write(statement);
Note : titik-titik diisi dengan nilai awal ke nilai akhir.
Contoh dasar :
Program Tes ;
Deklarasi
a : byte;
Deskripsi
for a <— 1 to 5 do
{
write(‘ Q ‘);
}
end.
Hasilnya : Q Q Q Q Q
contoh penulisan dari while :
while (kondisi) do
{
(statement);
}
end.
Program Tes ;
Deklarasi
a : byte;
Deskripsi
while (a<=5) do
{
write(‘ Q ‘);
a <— a+1;
}
end.
Hasilnya : Q Q Q Q Q Q
contoh penulisan dari Repeat-Until :
Repeat
. . .
. . . .
. . . . .
Until (kondisi)
Program Tes ;
Deklarasi
a : byte;
Deskripsi
repeat
{
write(‘ Q ‘);
a <— a+1;
until (a=5)
}
end.
Hasilnya : Q Q Q Q Q Q
Definisi dari ketiga perulangan tersebut :
For : Hasil nya sudah diketahui dan perulangannya otomatis bertambah satu angka.
While : Perulangannya tidak akan berhenti selama kondisinya benar…jadi kalau kondisinya salah baru akan berhenti. Harus ada statement yang membuat kondisi ini jadi salah.
Repeat Until : Perulangannya akan berhenti ketika kondisinya benar terbalik dengan while tadi…jika salah dia akan berulang terus…Harus ada statement yang membuat kondisi ini jadi benar.
—> Satu contoh program sederhana dari saya :
Algoritma Menghitung_Nilai_Akhir;
Deklarasi
nama, alamat, jur, stb : string;
nm, nt, nf : integer;
na : real;
nh : char;
Deskripsi
write(‘Masukkan nama anda : ‘); readln(nama);
write(‘Masukkan alamat anda : ‘); readln(alamat);
write(‘Masukkan jurusan anda : ‘); readln(jur);
write(‘Masukkan stambuk anda : ‘); readln(stb);
write(‘Input nilai tugas: ‘); readln(nt);
write(‘Input nilai mid : ‘); readln(nm);
write(‘Input nilai final : ‘); readln(nf);
na <– (nt*0.20)+(nm*0.25)+(nf*0.55);
readln;
if (na>=80) and (na<100) then
nh = ‘a’
else if (na>=70) and (na<80) then
nh = ‘b’
else if (na>=65) and (na<70) then
nh = ‘c’
else if (na>=40) and (na<65) then
nh = ‘d’
else
nh = ‘e’;
readln;
writeln(‘Nilai akhir anda adalah : ‘,na:0:0);
write(‘Nilai Hurufnya adalah : ‘,nh);
readln;
end.
Kalau mau lihat hasil outputnya,teman-teman silahkan coba aja ya sendiri pake aplikasi Pemograman Pascal kalau bisa… Disitu teman-teman sendiri yang nanti menginput trus lihat hasilnya dech . . . selamat mencoba ya . . .
Mudah-mudahan sedikit dari apa yang saya tau dan sharing ke teman-teman ini dapat bermanfaat dan yang saya harap pastinya teman-teman bisa mengerti . . . jangan malas-malas tuk belajar dan mencari ilmu, karena ilmu tidak akan datang sendirinya kalau bukan dari kita sendiri yang mencarinya . . . Semangat…!!
Created By Q’an Al-Quarizhmy
Tidak ada komentar:
Posting Komentar