ALGORITMA & PEMROGRAMAN
Pendahuluan Komputer adalah alat bantu untuk menyelesaikan masalah. Dalam menyelesaian masalah menggunakan komputer, perlu dirumuskan langkah-langkah penyelesaian masalah berupa sekumpulan instruksi. Sekumpulan instruksi yang dimengerti oleh komputer yang disebut dengan program.
Bahasa Pemrograman Program harus ditulis dalam suatu bahasa yang dimengerti oleh komputer yaitu dalam Bahasa pemrograman, dibedakan menjadi : –Bahasa tingkat rendah (low level language) : bahasa yang berorientasi ke mesin. Contoh : Assembly Language – Bahasa tingkat tinggi (high level language) : bahasa yang berorientasi ke manusia (seperti bahasa inggris) Contoh : bahasa Pascal, bahasa C, Visual Basic, dll.
Bahasa Pemrograman Program yang ditulis dalam bahasa pemrograman akan diubah ke dalam bahasa mesin (binary code, byte code/executable code) dengan menggunakan penterjemah (interpreter) atau pengkompail (compiler). Compiler dan Interpreter : – Interpreter : mengubah ke binary code dengan menterjemahkan baris per baris instruksi. Contoh bahasa PHP, Java. – Compiler : mengubah ke binary code seluruh instruksi sekaligus. Contoh bahasa Pascal, C, Ada ,C++, dll.
Langkah – Langkah Pemecahan Bagaimana mencari solusi untuk masalah ? Langkah – Langkah Pemecahan MASALAH SOLUSI Run convert Algoritma Executable Code program Bahasa Program C/C++/Java/VB/dll Compile/ interpret
Program Development Cycle Pendefinisian Masalah Pembuatan Model Perancangan Algoritma Pembuatan Program Compile Program True Syntax Error False Run True Runtime / Output Error False Pendokumentasian Program
Syarat Algoritma menurut Donald E Knuth Algoritma harus berhenti setelah mengerjakan sejumlah langkah proses. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (Ambiguitas). Algoritma memiliki nol atau lebih masukkan. Algoritma memiliki satu atau lebih keluaran. Algoritma harus efektif (setiap langkah harus dapat dikerjakan dalam waktu yang masuk akal).
Algoritma Definisi Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Contoh : Masalah Algoritma TUKAR ISI BEJANA Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah. DESKRIPSI : – Tuangkan larutan dari bejana A ke dalam bejana B – Tuangkan larutan dari bejana B ke dalam bejana A
Algoritma Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah percampuran kedua larutan tersebut. Untuk mempertukarkan isi duah bejana, diperlukan sebuah bejana tambahan sebagai tempat penampungan sementara, misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah sebagai berikut :
Algoritma Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah. DESKRIPSI : 1. Tuangkan larutan dari bejana A ke dalam bejana C. 2. Tuangkan larutan dari bejana B ke dalam bejana A. 3. Tuangkan larutan dari bejana C ke dalam bejana B.
Editor IDE Dev-C++ Borland C Turbo C Text Editor Notepad WordPad
Pembuatan Program /* Program Tukar nilai dibuat oleh : David Solichin Tgl : 17 Agustus 1945 tujuan : untuk menukar 2 buah nilai */ #include <stdio.h> #include <stdlib.h> int main() { int A,B,C; // siapkan penampung baru, yaitu C // input Nilai dan simpan ke Variable A printf("Masukkan Nilai A : "); scanf("%d",&A); // input Nilai dan simpan ke Variable B printf("Masukkan Nilai B : "); scanf("%d",&B); C = A; // isikan nilai A ke C A = B; // isikan nilai B ke A B = C; // isikan nilai C ke B printf("Setelah ditukar A = %d, B = %d\n",A,B); system("PAUSE"); return 0; }
Compile Untuk mencompile, sebagai contoh menggunakan Dev-C++, tekan tombol Ctrl-F9
Run Tekan tombol Ctrl-F10, atau langsung tekan F9 untuk Compile dan Run (menjalankan program yang telah di compile)
Dokumentasi Berikan Dokumentasi, sehingga program mudah di pelihara dan dimengerti
References : Thompson SN, 2009, Algoritma dan Struktur Data dengan C. Deitel, PJ, HM.Deitel, 2007, C How to Program, 5th Edition.