Algoritma dan Pemrograman || Algoritma, Notasi Algoritmik, dan Paradigma
Apa itu algoritma?
Dikutip dari wikipedia, algoritma merupakan sekumpulan instruksi yang terstruktur dan terbatas yang diimplementasikan kedalam bentuk program komputer untuk menyelesaikan suatu masalah komputasi tertentu. Jadi, algoritma adalah bagian teks algoritmik yang berisi instruksi atau aksi yang telah didefinisikan. Komponen teks algoritmik dalam pemrograman prosedural dapat berupa instruksi dasar seperti input/output, assignment, sequential statement, analisis kasus, pengulangan (looping).
Apa itu notasi dan kenapa perlu adanya notasi algoritma?
Notasi adalah dasar
pemrograman yang digunakan untuk menuliskan langkah-langkah dalam pembuatan
suatu program dengan menggunakan bahasa pemrograman. Notasi algoritma sangat
diperlukan dalam sebuah pemrograman karena sebuah program tidak dapat langsung
dikompilasi sebagai program yang dikerjakan oleh komputer atau mesin.
Apa itu flowchart?
Flowchart atau bagan
alur adalah diagram yang menjelaskan alur proses dari sebuah program. Setiap
alur digambarkan dalam bentuk diagram dan dihubungkan dengan garis atau arah
panah. Flowchart memberi gambaran jalannya sebuah program dari satu proses ke
proses lain. Sehingga alur program menjadi mudah dipahami oleh semua orang.
Apa itu paradigma?
Paradigma adalah sudut
pandang atau "sudut serang" tertentu yang diprioritaskan terhadap
kelompok problema, realitas, keadaan, dan sebagainya. Dalam pemrograman ada
beberapa paradigma yang masing-masing mempunyai prioritas strategi analisis
yang khusus untuk memecahkan masalah.
Paradigma terdiri dari 4 macam paradigma, yaitu sebagai berikut :
Paradigma Prosedural / Imperatif
- Berdasarkan konsep mesin Von Newmann.
- Artinya : sekelompok tempat memori yang dibedakan menjadi memori instruksi dan memori data.
- Keuntungan : efisiensi eksekusi, karena dekat dengan mesin.
- Kelemahan : tidak manusiawi dan tidak alamiah, karena harus berpikir dalam batasan komputer.
Paradigma Fungsional
- Berdasarkan konsep pemetaan dan fungsi pada matematika.
- Tidak mempersalahkan memorisasi dan struktur dat , tidak ada pemilahan antara data dan program, tidak ada pengertian tentang variabel.
- Transformasional adalah dasar pemecahan persoalan .
Paradigma Deklaratif / Predikreatif / Lojik
- Berdasarkan pendefinisian relasi antar individu yang dinyatakan sebagai predikat.
- Artinya : kumpulan aksioma (fakta dan aturan dedukasi).
- Ketika program dieksekusi, pemakai mengajukan pertanyaan (query), dan program akan menjawab. Program akan memakai aturan deduksi dan mencocokkan pertanyaan dengan fakta-fakta yang ada untuk menjawab pertanyaan.
Paradigma Berorientasi Objek / Object Oriented
- Berdasarkan objek (atribut dan kelakuan).
- Menawarkan konsep class, generic, inheritance, polymorphism, dan menekankan pentingnya pendefinisian statik kelas untuk melahirkan objek pada saat runtime, kemudian dimanipulasi atau saling berinteraksi.
Paradigma Konkuren
- Erat dengan arsitektur perangkat keras.
- Perangkat lunak sistem terdistribusi yang mengelola akses konkuren.
Paradigma Relasional
- Didasari entity dan relasi.
- Pemrograman dalam bahasa query yang memungkinkan diperolehnya suatu himpunan nilai.
