Algoritma
- Basically, cara menyelesaikan masalah secara bertahap atau berurutan.
Advantage dari algoritma adalah:
- Independen dari bahasa pemrograman manapun.
- Bisa ditranslasikan ke dalam bahasa pemrograman manapun.
- Hasil atau output selalu keluar sama.
Ada 2 cara membuat (merepresentasikan / menggambarkan) algoritma, yaitu:
- Menulis / Writing
- Pseudo-code
- Structured Language
- Gambar / Drawing
- Flow Chart
Generally, penulisan algoritma adalah sebagai berikut.
- Start
- (Statements, Pseudo-codes)
- End
Sementara proses berjalannya algoritma adalah sebagai berikut.
Problem >> Process >> Solution
If specified lebih lanjut, proses berjalannya sebagai berikut.
Algorithm >> Source Code >> Executable code
In the process, berikut adalah tahapannya.
Writing Code >> Compile >> Test Code (Syntax Err) >> Executable Code >> Test Output (Output Err) >> Documentation
Setelah menemukan masalah, model untuk algoritma dikembangkan. Kemudian, algoritma didesain. Dari tahap itu kemudian berlanjut ke tahapan yang telah dituliskan di atas. Kode ditulis, kemudian dicompile. Setelah itu dites. Jika Syntax Error, berarti ada kesalahan saat menulis kodenya. Jika tidak, maka dijalankan Executable Code. Lalu dites output dari algoritma itu, apakah error atau tidak. Jika error, kesalahan bisa ada saat penulisan kode, atau bisa saat problem definition, model development, atau algorithm design. Jika tidak ada kesalahan, maka berlanjut ke tahap terakhir, yaitu Documentation.
Pseudo-code
- Input
- Output
- Compute
- Storing value to an identifier (Store)
- Compare
- Repetition (Loop) (Do-While, Repeat-Until)
Structured Theorem
Structured Theorem memungkinkan pemrograman komputer hanya menggunakan 3 control structure, yaitu:
- Sequence
- Basically, commands atau pernyataan yang berurutan.
- Selection
- Bisa memilih dari beberapa statement atau perintah
- Repetition (Loop)
- Mengulang beberapa perintah atau pernyataan.
Bahasa Pemrograman
Ada 3 tingkatan dalam bahasa pemrograman, yaitu:
- Rendah / Low (Assembler)
- Sedang / Medium (C, Pascal, Fortran)
- Tinggi / High (Java, C++. C#)
Sebagian besar dari bahasa pemrograman tingkat tinggi merupakan OOP.
OOP (Object Oriented Program) merupakan bahasa pemrograman yang, basically, membuat atau memanipulasi objek tertentu dengan menggunakan bahasa pemrograman.
Objek: A specific element (dalam hal karakteristik) yang dapat dibedakan dalam dunia nyata.
OOP memiliki beberapa turunan, yaitu:
- Inheritance
- Pewarisan sifat suatu objek ke objek lain yang punya sifat sama. Tidak wajib berarti tidak harus mewariskan. Tidak pasti ada, berarti bisa saja tidak ada yang diwariskan. Tidak terlihat publik, berarti bersifat private, tidak ada yang bisa mengakses selain pembuat.
- Encapsulation
- Menjaga kode-kode agar tidak sembarang diakses user lain. Merupakan teknik privatisasi.
- Abstraction
- Mengedit class (design, metode, data). Sifat class pasti diturunkan ke class lain. Wajib bisa diakses semua user, walaupun bisa saja tidak wajib, tergantung decision pembuatnya. Dan bersifat labil, artinya selalu berubah, tidak konstan.
- Interface
- Tampilan kepada user. Wajib menurukan sifat, namun tidak labil seperti Abstraction. Tetapi, harus diimplementasikan & Main hanya boleh 1. (Interface boleh banyak).
Polymorphism: aksi yang memanipulasi benda, baik bentuknya maupun lokasi (urutan). Termasuk / disebut Overload Method.