RESUME MATERI BIG PROJECT IV
(ALGORITMA)
NAMA : NURMALA SARI
JURUSAN : PTI
SEMESTER/KELAS : II/B
NIM : 2018060092
DOSEN
PENGAMPU : ITA FITRIATI., S.KOM., M.T
SEKOLAH
TINGGI KEGURUAN DAN ILMU PENDIDIKAN
(STKIP) TAMAN SISWA BIMA
PROGRAM
STUDI TEKNOLOGI INFORMASI
TAHUN AJARAN 2018/2019
ALGORITMA
A.
Sejarah Algoritma
Para
ahli sejarah matematika meyakini bahwa kata algorism berasal dari nama penulis
buku juga ahli matematika berkebangsaan Arab yang terkenal yaitu Abu Ja’far
Muhammad lbnu Musa Al-Khuwarizmi (770-840). Sebagian referensi menulis Abu
Abdullah Muhammad lbnu Musa Al-Khawarizrni.
Orang
barat melafalkan Al-Khuwarizmi dengan algorism. Entah karena Al-Khuwarizmi
seorang algorist yang pintar, kemudian untuk selanjutnya dikenal dengan
algorism sebagai definisi untuk langkah penyelesaian suatu masalah yang
menghasilkan solusi oleh orang barat.
Al-Khuwarizmi
lahir di Khwarizm (kheva), kota yang terletak di selatan Sungai Oxus (sekarang
Uzbekistan). Ketika masih kecil, ia pindah bersama orangtuanya ke selatan kota
Baghdad (Irak).
Salah
satu buku Al-Khuwarizmi yang terkenal adalah Kitab Al Jabar Wal-Muqabala yang
berarti “Buku pemugaran dan pengurangan” (The book of restoration and
reduction).
Dari
judul buku itu jugalah didapat kata “Aljabar” yang sekarang menjadi salah satu
cabang ilmu matematika.
Sebuah
sumber lain menuliskan algoritma adalah suatu metode khusus yang tepat dan
terdiri dari serangkaian langkah yang terstruktur dan ditulis secara matematis,
yang akan dikerjakan untuk menyelesaikan suatu masalah dengan bantuan komputer.
Seperti
halnya sebuah bangunan yang kuat memiliki struktur rangka yang baik. Demikian
juga pada program atau aplikasi yang baik juga harus disusun oleh struktur
pemrograman yang baik. Teknik penyusunan struktur program disebut dengan
algoritma.
B.
Definisi Algoritma
Pengertian
algoritma adalah langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis dan logis untuk menghasilkan solusi yang tepat. Awalnya algoritma
digunakan untuk penghitungan dalam ilmu matematika namun dalam perkembangannya,
kata algoritma justru banyak dipakai pada bidang pemrograman komputer.
Istilah
algoritma dalam bahasa Indonesia diserap dari Bahasa lnggris “algorithm” yang
secara etimologi berasal dari bahasa Arab “algorism” yang berarti proses
menghitung dengan angka Arab. Seorang algorist adalah seorang yang menghitung
menggunakan angka Arab.
Dalam bidang komputer, algoritma didefinisikan
sebagai urutan langkah-langkah penyelesaian masalah yang disusun secara
sistematis dan logis.
C.
Contoh Algoritma
Mengirim
Surat
Algoritma Mengirim Surat
- Ketik atau tulis surat
- Siapkan sampul surat atau amplop
- Masukkan surat ke dalam amplop yang tersedia
- Lem amplop surat dengan baik
- Tuliskan alamat pengiriman surat, jika tidak ingat, lebih dahulu ambil buku alamat & cari alamat yangg dituju, lalu tulis alamat amplop surat.
- Beli dan tempelkan perangko pada amplop
- Pergi ke kantor pos dan bawa surat untukk diserahkan pada pegawai pos
D.
Kriteria Algoritma
1. Input (Masukan)
Sebuah Algoritma harus memiliki nol input atau
inputan dari pengguna (user). Apa yang dimaksud dengan nol input? Nol input
dapat diartikan algoritma atau program tidak mendapat inputan data dari
pengguna. Bukan berarti algoritma tidak memiliki masukan sama sekali, tetapi
inputan pada algoritma sudah di deklarasikan diawal program.
Contoh :
Program mencari sebuah luas lingkaran yang memiliki
rumus phi x jari-jari x jari-jari. Pada program tersebut pengguna hanya
menginputkan nilai dari jari-jari tetapi tidak nilai phi. Hal ini dikarenakan
nilai phi sudah dideklarasikan pada program yaitu 22/7 atau 3.14
Sedangkan yang dimaksud dengan inputan dari
pengguna. Seperti contoh diatas, dimana panjang jari-jari perlu diinputkan agar
program dapat berjalan dan memberikan hasil yang diinginkan.
2. Output (Keluaran)
Dalam penyusunan kriteria algoritma yang baik dan
benar minimal harus memiliki satu output. Ini karena algoritma mengusung teori
IPO (Input-Proses-Output) dimana setiap ada masukan pasti ada proses dan
keluarannya. Output yang dikeluarkan oleh program dapat berbentuk File, Video,
teks, audio dan lain sebagainya. Dapat juga output nya sebagai sebuah data yang
disimpan di database.
3. Finiteness (Terbatas)
Terbatas disini bukan artinya mempunyai keterbatasan
dalam pengembangan algoritma tetapi algoritma yang dijalankan harus mempunyai
batas. Atau bisa diartikan juga suatu program yang dirancang dan dieksekusi
haruslah berhenti dan selesai pada output. Program yang buruk adalah program
yang mengalami infinite, yaitu semacam program berjalan terus menerus sampai
not responding atau bahasa kerennya nge-Hang.
4. Definiteness (Pasti)
Dalam perancangan, program harus memiliki algoritma
yang pasti dimana arah dan tujuan yang jelas. Program yang baik adalah program
yang memiliki algoritma dengan pernyataan yang jelas seperti kapan mulai dan
kapan berakhirnya sebuah progam, tujuan dari program dan output yang jelas.
Pada hal ini cukup diperlukan tingkat ke peka an dalam membangun program
(software) guna memperkecil persentasi hasil yang tidak diinginkan.
5. Efisien
Penyusunan kriteria algoritma yang terakhir adalah
Efisien. Menurut KBBI (Kamus Besar Bahasa Indonesia), efisien adalah tepat atau
sesuai untuk mengerjakan (menghasilkan) seauatu dengan tidak membuang-buang
waktu, tenaga dan biaya. Hal ini menandakan bahwa algoritma yang ditulis pada
program haruslah efisien. Bagaimana program yang efisien? Program yang efisien
adalah program yang tidak memakan banyak memori dan tidah melakukan hal-hal
yang tidak diperlukan selama proses. Lalu kenapa efisien masuk dalam kriteria
algoritma yang baik? Karena setiap program akan memakan waktu dalam setiap
proses eksekusinya. Jika program mengerjakan hal-hal yang tidak perlu
dilakukan, maka bisa dipastikan program tersebut akan berjalan lambat.
Kesimpulan Kriteria Algoritma
Dari kriteria-kriteria algoritma diatas, kita dapat
menarik beberapa kesimpulan antara lain :
·
Penyusunan Kriteria Algoritma harus jelas dan logis,
fokus terhadap masalah yang harus diselesaikan.
·
Proses yang dijalankan harus jelas (tidak rancu atau
mempunyai dua arti) dan mempunyai batasan dimana algoritma akan berakhir.
·
Algoritma haruslah efektif dan efisien untuk
menyelesaikan masalah yang ada.
E.
Jenis Proses Algoritma
• Sequence proses / urutan. Pada konstruksi ini
terdapat sebuah rentetan proses dalam suatu program. urutan yang berjalan dari
atas ke bawah, sequence adalah dasar dari semua program, semua program pasti
berjalan urut dari atas sampai kebawah.
Contoh: menghitung luas lingkaran.
• Selection proses / pemilihan. Pada konstruksi ini
terdapat sebuah syarat yang harus bernilai true atau false dalam hal ini di
sebut juga dengan nilai bolean. lalu oleh komputer di lakukan pengecekan apakah
yang harus dilakukan menjalankan perintah true atau perintah false.
contoh:Pencarian nilai terbersar dari deretan angka
• Itteration proses / Perulangan. Pada konstruksi
ini mengulang proses-proses yang sama, sehingga pembuatan program lebih evisien
daripada pembuatan tanpa perulangan yang di buat oleh komputer.
Contoh: untuk membantu kita dalam membuat program
yang terstruktur konstruksi-konstruksi itu dapat disajikan oleh berbagai macam
alat bantu untuk penulisan algoritma sebuah program, pada umumnya sebuah
program di sampaikan dengan FLOWCHART, BOXDIAGRAM, atau PSEUDOCODE
• Concurrent Process: beberapa instruksi dikerjakan
secara bersama.
Dalam Algoritma, tidak dipakai simbol-simbol /
sintaks dari suatu bahasa pemrograman
tertentu, melainkan bersifat umum dan tidak
tergantung pada suatu bahasa pemrograman
apapun juga. Notasi-notasi algoritma dapat digunakan
untuk seluruh bahasa pemrograman
manapun.
F.
Macam macam Algortma
1. Deskriptif
Deskriptif
ini maksudnya adalah susunan langkah-langkah menyelesaikan suatu masalah yang
di buat secara urut dan mendetail. Misalnya:
1.
(START) Buka Kemasan Mie
2.
Pisahkan Bumbu Dengan Mie
3.
Masukkan Mie Kedalam Panci Air Mendidih
4.
Letakkan Bumbu Di Piring
5.
Tiris Mie, & Campurkan Dengan Bumbu Di Piring
6.
Hidangkan (END)
Kelemahan dari Algoritma ini adalah terlalu panjang meskipun mendetail
2. Flowchart
Flowchart
(Diagram alir) ini langkah-langkah penyelesaian suatu masalah yang di buat
dalam bentuk grafik menggunakan simbol-simbol yang menggambarkan suatu kegiatan
tertentu. Flowchart diawali dengan penerimaan masukkan (Input), Pemrosesan
masukkan, & Diakhiri dengan menampilkan hasilnya (Output). Berikut
Macam-Macam Simbol Dalam Flowchart:
Misalnya:
Kelemahan
dari Algoritma ini adalah kurangnya pengertian atau terlalu ringkas yang dapat
menimbulkan kesan ambigu meskipun cara ini paling mudah dan sering digunakan
karena singkat.
3. Pseudocode
Pseudo memiliki arti imitasi atau tiruan atau menyerupai dan
code menunjukkan kode pemrograman. Pseudocode adalah algoritma yang di
buat mirip dengan bahasa pemrograman aslinya. Tujuannya adalah mempermudah
menjelaskan kepada sesama rekan Programer
G.
Bagian Program Algoritma
Pada dasarnya, bagian algoritma disusun atas tiga
bagian (blok) : bagian judul (header) agoritma, bagian deklarasi, dan bagian
deskripsi. Setiap bagian dapat diberi komentar untuk memperjelas maksud teks
yang dituliskan. Komentar biasanya ditulis menggunakan kurung kurawal.
1) Judul Algoritma
Judul algoritma adalah
bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang
algoritma tersebut. Nama algoritma sebaiknya singkat, namun cukup menggambarkan
apa yang akan dilakukan oleh algoritma tersebut. Di bawah nama algoritma
disertai dengan penjelasan singkat (intisari) tentang apa yang dilakukan oleh
algoritma. Penjelasan di bawah nama algoritma sering dinamakan juga spesifikasi
algoritma. Algoritma harus ditulis sesuai dengan spesifikasi yang
didefinisikan.
Contoh :
Algoritma
Luas_Persegi_Panjang
{ Algoritma menghitung luas
persegi panjang }
2) Deklarasi
Di dalam algoritma,
deklarasi nama adalah bagian untuk mendefinisikan semua nama yang dipakai di
dalam algoritma. Nama tersebut dapat berupa nama terapan, nama peubah, nama
tipe, nama prosedur dan nama fungsi.
Contoh :
Deklarasi :
Panjang = integer {tipe data
bilangan bulat}
Lebar = integer
Luas = real {tipe data
bilangan pecahan}
3) Deskripsi
Deskripsi adalah bagian
terpenting dari struktur algoritma. Bagian ini berisi uraian langkah-langkah
penyelesaian masalah. Langkah-langkah ini dituliskan dengan notasi yang lazim
dalam penulisan algoritma. Setiap langkah algoritma dibaca dari langkah paling
atas hingga langkah paling bawah. Urutan penulisan menentukan urutan
pelaksanaan perintah.
Contoh :
Deskripsi :
input (panjang, lebar)
luas <-- panjang * lebar
output (luas)
H.
Langkah Pembuatan Program
1. Mendefinisikan Masalah
Sebelulum menulis program,
biasakanlah untuk mendefinikan masalah-masalah yang mungkin akan terjadi karena
semakin cepat kita menulis program, semakin lama kita menyelesaikan masalah
yang timbul. Maksudnya, jangan terburu-buru untuk menulis code karena jika
tidak ditentukan masalah yang akan timbul, kita akan kebingungan saat menulis
program nantinya. Jadi, tentukan masalahnya, apa saja yang akan diproses di
komputer, setelah itu lanjut ke langkah berikutnya.
2. Menemukan Solusi
Setelah kita menemukan
masalah, tentukan solusi dari tiap masalahnya. Jika masalah terlalu kompleks,
maka ada baiknya masalah tersebut dipecah menjadi beberapa bagian yang lebih
kecil agar lebih mudah diselesaikan. Dengan demikian program utama akan lebih
singkat dan mudah dilihat.
3. Memilih Algoritma
Dalam mencari solusi dari
tiap masalah, sebaiknya kita membuat beberapa algoritma, bukan cuma satu
algoritma untuk satu masalah saja. Pilihlah algoritma yang sesuai dan efisien
sehingga tidak membuat program kita nanti lambat atau berat saat digunakan
nantinya.
4. Menulis Code
Langkah ini adalah langkah
terpenting dan paling asyik. Ketika kita menulis code dari program, nantikan
akan menemukan sedikit banyak bug atau error. Pastikan sebelum program dibuild,
bug atau error sudah kita handle. Panduan untuk dapat memperbaiki bug atau
error adalah
“Practice makes perfect”
5. Menguji Program
Ujilah program kalian dengan
segala kemungkinan sehingga program handal dan layak
6. Menulis Dokumentasi
Kenapa harus menulis
dokumentasi? Dokumentasi itu penting agar saat pada suatu saat jika kita akan
melakukan perbaikan atau perubahan, tidak perlu lama-lama kita baca code, kita
cuma perlu baca dokumentasi pun kita sudah punya gambaran alur program kita.
Daftar Pustaka
https://medium.com/@doesuniversity/langkah-langkah-pembuatan-program-8c036f01f063
https://www.kanalinfo.web.id/pengertian-algoritma-dan-sejarahnya
Knuth, D. E. 1973. The Art of Computer Programming. Addison-Wesley Published Company.
Kamus Besar Bahasa Indonesia. Kriteria. http://kbbi.web.id/kriteria [diakses 1 November 2016]
Kamus Besar Bahasa Indonesia. Efisien. http://kbbi.web.id/efisien [diakses 2 November 2016]
http://dessythalyta.blogspot.com/2009/10/jenis-proses-algoritma.html
https://kucing-putih-serba-bisa.blogspot.com/2017/10/macam-macam-algoritma.html
https://www.kanalinfo.web.id/pengertian-algoritma-dan-sejarahnya
Knuth, D. E. 1973. The Art of Computer Programming. Addison-Wesley Published Company.
Kamus Besar Bahasa Indonesia. Kriteria. http://kbbi.web.id/kriteria [diakses 1 November 2016]
Kamus Besar Bahasa Indonesia. Efisien. http://kbbi.web.id/efisien [diakses 2 November 2016]
http://dessythalyta.blogspot.com/2009/10/jenis-proses-algoritma.html
https://kucing-putih-serba-bisa.blogspot.com/2017/10/macam-macam-algoritma.html
Tidak ada komentar:
Posting Komentar