Anda di halaman 1dari 12

Algoritma dan Pemrograman

“TIK”
Pengertian Algoritma

Algoritma merupakan
kumpulan perintah untuk
menyelesaikan suatu masalah
Program yang berjalan di
secara sistematis, berbagai device seperti komputer
terstruktur dan logis. (personal computer), netbook,
Masalah itu dapat berupa handheld, web (berbasis
apa saja, dengan syarat internet) pada dasarnya tidak
dibangun begitu saja, melainkan
untuk setiap permasalahan
ada suatu proses yang menjadi
memiliki kriteria kondisi awal
suatu pola kerja dari program itu
yang harus dipenuhi sebelum sendiri yakni algoritma.
menjalankan sebuah
algoritma. Algoritma juga
memiliki pengulangan proses
(iterasi), dan juga memiliki
keputusan hingga keputusan selesai.Salah satu hal yang tak dapat
lepas dari algoritma adalah pemrograman, yang mana di era kemajuan
teknologi hal tersebut menjadi sangat penting
Ciri-Ciri Algoritma

Menurut Donald E. Knuth dalam Rinaldi Munir (2007), mengungkapkan


bahwa algoritma harus memiliki lima ciri penting.

Yaitu:

Algoritma harus berhenti setelah mengerjakan


sejumlah langkah terbatas. Program yang tidak
pernah berhenti mengindikasikan bahwa program
tersebut berisi algoritma yang salah.

Setiap langkah harus didefinisikan dengan tepat dan


tidak berarti-dua (ambiguous).

Algoritma memiliki nol atau lebih masukan (input).


Masukan ialah besaran yang diberikan kepada
algoritma untuk diproses.

Algoritma memiliki nilai nol atau lebih keluaran


(output). Keluaran dapat berupa pesan atau besaran
yang memiliki hubungan dengan masukan

Algoritma harus sangkil (effective). Setiap langkah


harus sederhana sehingga dapat dikerjakan dalam
sejumlah waktu yang masuk akal
Dengan demikian algoritma dapat diartikan sebagai deretan langkah
komputasi yang mentransformasikan masukan menjadi keluaran dalam
waktu yang terbatas. Algoritma baru efektif jika dijalankan oleh
sebuah pemroses atau (processor). Pemroses tersebut bisa manusia,
robot, komputer, mesin dan sebagainya.

Pemroses membaca setiap instruksi di dalam algoritme lalu


mengerjakannya. Di mana suatu pemroses harus mengerti setiap
langkah dalam algoritme dan mengerjakan operasi yang bersesuaian
dengan langkah tersebut.

Definisi Algoritma Menurut Para Ahli

Algoritma berusaha melakukan langkah-langkah seefesien mungkin


untuk mencapai tujuan semaksimal mungkin. Algoritme sebenarnya
merupakan implementasi dari kehidupan sehari-hari misalnya algoritma
stack dan algoritma queue yang merupakan implementasi dari antrian
dan tumpukan yang terjadi dalam aktivitas sehari-hari. Berikut ini
definisi algoritma menurut para ahli yaitu:

1. Thomas H. Cormen
Algoritma merupakan prosedur komputasi yang mengambil beberapa nilai atau
kumpulan nilai sebagai input kemudian diproses sebagai output sehingga algoritma
adalah urutan langkah komputasi yang mengubah input menjadi output.

2. Andrey Andreyevich Markov


Algoritma adalah hal umum untuk dipahami sebagai suatu keputusan yang tepat
untuk mendefinisikan proses komputasi yang mengarahkan dari data awal hingga
hasil yang diinginkan.

3. Goodman dan Hedetniemi


Algoritma merupakan urutan-urutan terbatas dari operasi terdefinisi dengan baik
yang masing-masing membutuhkan memory dan waktu yang terbatas untuk
menyelesaikan suatu masalah.

4. Seymour Lipschutz dan Marc Lipson


Algoritma merupakan suatu daftar langkah demi langkah yang terhingga dari
instruksi-instruksi yang terdefinisikan dengan jelas yang dipakai untuk
permasalahan tertentu.
Contoh Algoritma

Algoritma adalah jantung ilmu


komputer atau informatika. Banyak
cabang ilmu komputer yang di acu
dalam terminologi algoritma. Namun,
jangan beranggapan algoritma selalu
identik dengan ilmu komputer saja.
Dalam kehidupan sehari-hari pun
banyak terdapat proses yang
dinyatakan dalam suatu algoritma.
Berikut adalah beberapa contoh
algoritma dalam kehidupan sehari-hari.

Langkah-langkah pada algoritma haruslah logis. Secara umum, pihak


(benda) yang mengerjakan proses disebut pemroses (processor). Pemroses
tersebut dapat berupa manusia, komputer, robot, atau alat-alat
mekanik/elektronik lainnya. Pemroses melakukan suatu proses dengan
melaksanakan atau
mengeksekusi algoritma
yang menjabarkan proses
tersebut. Melaksanakan
algoritma berarti
mengerjakan langkahlangkah
di dalam algoritma tersebut.

Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan


kepadanya. 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.
Sejarah Algoritma

Algoritma berasal dari nama


penulis buku, yakni Abu Ja`far
Muhammad Ibnu Musa Al-
Khwarizmi yang berasal dari Abu Abdullah Ibnu Musa al-Khawarizmi
(770M-840M) lahir di Khawarizm
Uzbekistan. Orang Barat (Kheva), kota yang berada di selatan
menyebut Al-Khwarizmi dengan Sungai Oxus (sekarang disebut
Uzbekistan) pada 770 M. Al Khawarizmi
Algorism.Pada saat itu, Al- merupakan salah satu ilmuan terkenal di
Khwarizmi menulis buku dengan zamannya. Ada beberapa cabang ilmu
matematika yang berhasil ditemukannya,
judul Al Jabar wal-Muqabala antara lain yang dikenal sebagai astronom
dan geografer.
yang artinya `Buku Pemugaran
dan Pengurangan` (The book of
Restoration and Reduction).
Dari judul buku tersebut, kita
juga memperoleh kata “aljabar”
atau biasa dikenal dengan algebra.

Awalnya, algoritma merupakan istilah yang merujuk kepada aturan-aturan


aritmetis yang berguna untuk menyelesaikan persoalan dengan
menggunakan bilangan numeric Arab.

Pada tahun 1950, kata algoritma pertama kali digunakan pada "algoritma
Euclidean" (Euclid`s algorithm). Euclid, seorang matematikawan Yunani
(lahir pada tahun 350 M), dalam bukunya yang berjudul Element
menuliskan langkah-langkah untuk menemukan pembagi bersama terbesar
(common greatest divisor atau gcd), dari dua buah bilangan bulat, m dan n
[KNU73] (tentu saja Eulid tidak menyebut metodenya itu sebagai
algoritma, baru di abad modernlah orang-orang menyebut metodenya itu
sebagai "algoritma Euclidean"). Pembagi bersama terbesar dari dua buah
bilangan bulat tak negatif adalah bilangan bulat positif terbesar yang
habis membagi kedua bilangan tersebut.
Misalnya, m= 80 dan n =12. Semua faktor pembagi 80 adalah
1,2,4,5,8,10,16,20,40,80
dan semua faktor pembagi 12 adalah
1,2,3,4,6,12,maka gcd(80,12) = 4.
Langkah-langkah mencari gcd(80,12) dengan algoritma Euclidean sebagai berikut:
80 dibagi 12 hasilnya =6, sisa 8 (atau:80 =6.12+8)
12 dibagi 8 hasilnya = 1, sisa = 4 (atau:12 =1.8+4)
8 dibagi 4 hasilnya = 2, sisa =0 (atau:8 =4.2+0)
karena pembagian yang terakhir menghasilkan 0, maka sisa pembagian terakhir sebelum 0,
yaitu
4, menjadi gcd(80,12). Jadi, gcd(80,12) = gcd(12,8) = gcd(8,4) = gcd(4,0)=4.

Arti Pemrograman

Pemrograman adalah proses menulis, menguji dan memperbaiki (debug),


dan memelihara kode yang membangun suatu program komputer.[1] Kode
ini ditulis dalam berbagai bahasa pemrograman. Tujuan dari pemrograman
adalah untuk memuat suatu program yang dapat melakukan suatu
perhitungan atau 'pekerjaan' sesuai dengan keinginan si pemrogram. Untuk
melakukan pemrograman, diperlukan keterampilan dalam algoritme, logika,
bahasa pemrograman, dan pada banyak kasus, pengetahuan-pengetahuan
lain seperti matematika.

Pemrograman adalah suatu seni dalam menggunakan satu atau lebih


algoritme yang saling berhubungan dengan menggunakan suatu bahasa
pemrograman tertentu sehingga menjadi suatu program komputer. Bahasa
pemrograman yang berbeda mendukung gaya pemrograman yang berbeda
pula. Gaya pemrograman ini biasa disebut paradigma pemrograman.

Apakah memprogram perangkat lunak lebih merupakan seni, ilmu, atau


teknik telah lama diperdebatkan. Pemrogram yang baik biasanya
mengkombinasikan ketiga hal tersebut, agar dapat menciptakan program
yang efisien, baik dari sisi saat dijalankan (run time) atau memori yang
digunakan.

Sejarah Bahasa Pemrograman

Terciptanya bahasa pemrograman beriringan dengan sejarah mesin dan


komputer. Awal mula bahasa pemrograman dimulai dari Antikythera yang
berasal dari Yunani kuno. Antikythera adalah kalkulator yang menggunakan
beberapa tuas dan konfigurasi untuk menjalankanya. Pada tahun 1200an
Ismail Al-Jazari, seorang ilmuwan pada masa kejayaan Islam membangun
sebuah mesin bernama Automata, sebuah robot burung merak yang
bergerak dengan menggunakan hydropower (aliran air).

Cikal bakal bahasa pemrograman pertama kali muncul pada tahun 1822,

Dengan tersebarnya algoritma mesin Prevost,


perkembangan semakin terjadi. Di tahun 1854, George
Boole menemukan sistem logika yang disebut logika
Boole. Logika ini menyatakan hubungan hubungan lebih
besar, lebih kecil, sama dengan dan tidak sama
dengan.

sebuah mesin bernama Difference Engine diciptakan oleh Charles


Babbage, mahasiswa di universitas Cambridge Inggris. Namun mesin
buatan Babbage hanya bisa mengeluarkan satu jenis output. Barulah 10
tahun kemudian Charles Babbage mengembangkan mesin pengolah data itu
hingga mencapai versi kedua tahun 1849. Perjuangan Babbage diteruskan
oleh anaknya, Henry Prevost. Prevost membuat kopian dari perhitungan
algoritma mesinnya dan mengirim ke berbagai institusi di dunia.

Contoh Bahasa Pemrograman

Berikut ini beberapa contoh bahasa pemrograman yang dapat mulai Anda
pelajari. Sebagai pemula, Anda tidak harus menguasai semua bahasa secara
sekaligus. Pilih dan fokus pada salah satu bahasa pemrograman yang sesuai
dengan kebutuhan Anda.

Meskipun demikian, jangan merasa terbatasi dengan label “pemula”. Para


developer yang sudah lebih senior pun harus meluangkan waktu ketika
harus mempelajari bahasa pemrograman baru.

(Python)

Python merupakan salah satu contoh bahasa


pemrograman yang paling umum digunakan. Bahasa ini
banyak dipelajari oleh pemula karena mudah untuk
dibaca serta memiliki syntax yang sederhana. Sebagai bahasa yang mudah
dipelajari, Python sering dipergunakan sebagai bahasa pengantar untuk
para mahasiswa yang sedang mempelajari ilmu komputer.

Python bersifat open source, gratis digunakan, memiliki dukungan module


yang luas, serta struktur data yang user friendly. Python juga menjadi
programming language populer untuk Machine Learning dan aplikasi deep
learning.

Dengan Python, Anda tidak hanya dapat mengembangkan website namun


juga video game. Beberapa video game populer yang sudah dikembangkan
seperti Civilization IV, Vegas Trike, dan Toontown.

Kelebihan Python:
 Fleksibel
 Dapat dibaca secara intuitif
 Memiliki library yang luas
 Simple
 Object-Oriented

Kekurangan Python:Python bekerja dengan interpreter bukan kompiler


sehingga proses eksekusi berjalan lambat.

Contoh sistem populer yang dikembangkan menggunakan python adalah


Instagram, Google, Spotify, Netflix, Uber, dll

(Java)

Java menjadi bahasa pemrograman populer yang banyak


digunakan oleh developer untuk mengembangkan website,
mobile application, big data processing, embedded systems, games dan
masih banyak lagi. Sebagian besar aplikasi seluler yang tersedia di Play
Store juga dikembangkan menggunakan Java.

Sebagai pemula, bahasa pemrograman ini mudah untuk Anda pelajari


karena termasuk dari bahasa pemrograman tingkat tinggi. Artinya, kode
yang digunakan relatif mudah untuk dibaca dan dipahami. Selain itu, syntax
yang digunakan juga cukup sederhana.

Java bersifat open source, aman, powerfull, object oriented, serta dapat
berjalan diberbagai platform baik itu Windows, Mac, Linux, atau yang lain.
Java juga memiliki komunitas yang sangat besar sehingga Anda akan lebih
mudah untuk menemukan informasi yang dibutuhkan mengenai bahasa
pemrograman ini.

Kelebihan Java:

 Simple
 Powerfull
 Object-Oriented
 Aman
 Platform-independent
 Memiliki banyak open-source libraries

Kekurangan Java

 Membutuhkan memori yang besar


 Memiliki banyak vocabulary yang perlu dipelajari

Contoh sistem yang dikembangkan menggunakan Java : mobile app untuk


Spotify, Linkedin, Uber, Slack, dll

Beberapa proyek LOGIQUE juga dikembangkan menggunakan Java.


Diantaranya seperti :

JBA bidding, JBA BASTK, Midaz.

JavaScript (JS)

JavaScript adalah bahasa pemrograman berbasis teks


yang digunakan di sisi klien dan sisi server yang memungkinkan Anda untuk
membuat halaman web interaktif. Biasanya bahasa pemrograman ini
digunakan bersama HTML dan CSS. HTML dan CSS adalah bahasa yang
memberikan struktur dan gaya pada halaman web, sedangkan fungsi
JavaScript digunakan untuk memberikan elemen interaktif seperti
menampilkan animasi, memutar audio, memperbesar gambar, dll.

Selain itu, Javascript juga dapat digunakan untuk mengembangan website,


aplikasi web dan seluler, pengembangan web, dll. Bahasa pemrograman
Javascript juga memungkinkan developer untuk mempergunakannya
bersama dengan berbagai macam bahasa pemrograman yang lain.

Kelebihan Javascript

 Simple
 cepat untuk end user
 serbaguna
 tidak membutuhkan resource memory yang besar
 fleksibel
 dukungan komunitas yang besar

Kekurangan Javascript

 Meskipun server-side scripts selalu menghasilkan output yang sama,


namun browser yang berbeda terkadang menafsirkan kode
JavaScript secara berbeda.

Contoh web populer yang menggunakan Javascript adalah : Google,


Youtube, Facebook, dll

LOGIQUE juga menggunakan Javascript untuk beberapa projectnya,


yaitu : JBA Auction System, Indonesia.id, dll.

(Swift)

Contoh bahasa pemrograman selanjutnya yang bisa


dipelajari oleh pemula adalah Swift. Swift adalah bahasa
pemrograman yang digunakan untuk pengembangan iOS. Dengan Swift,
Anda dapat membuat aplikasi untuk Mac, iPhone, Apple Watch, atau pun
iPad.

Swift bersifat open source dan dirilis pertama kali oleh Apple pada tahun
2014. Switf dikembangkan agar dapat bekerja secara efisien, aman, cepat,
serta mudah digunakan. Selain itu, bahasa ini juga menggunakan syntax
sederhana yang mudah dipahami sehingga mampu mendorong pihak
developer untuk menghasilkan kode yang bersih dan konsisten.

Kelebihan Swift :

 aman
 open source
 interaktif
 mudah untuk menambahkan fitur baru
Kekurangan Swift
 hanya dapat dipergunakan untuk perangkat Apple
Swift digunakan di aplikasi iOS populer seperti : WordPress, Mozilla
Firefox, SoundCloud, dan lain-lain.

(C++)

C++ adalah cross-platform programming language yang


dapat digunakan untuk mengembangkan aplikasi
berkinerja tinggi. Bahasa ini dikembangkan oleh Bjarne Stroustrup sebagai
versi yang disempurnakan dari bahasa C.

C++ banyak dipergunakan untuk mengembangkan operating systems,


browsers, game, dan lain-lain. Jika Anda ingin menjadi seorang system-
level programmer, maka C++ perlu untuk dipelajari. Selain itu, C++ juga
termasuk programming language tertua yang sudah umum digunakan, serta
menjadi akar dari bahasa pemrograman yang lain seperti C #, Java, dan
JavaScript.

Kelebihan C++

 object oriented
 memiliki banyak library
 bahasa untuk multi-platform development

Kekurangan C++

 syntax yang cukup rumit

Contoh program yang ditulis menggunakan C ++ adalah Mozilla Firefox,


Bloomberg, MySQL, dll

Anda mungkin juga menyukai