Algoritma: langkah-langkah penyelesaian suatu persoalan. Contoh: ketika kita akan membuat telur dadar, maka langkah-langkah yang dapat ditulis adalah seperti algoritma berikut ini 0. Siapkan telur, mangkok, garpu, merica/bawang halus, minyak goreng dan garam secukupnya. 1. Pecah telur dan masukkan ke mangkok 2. Tambahkan merica/bawang halus dan garam ke dlam mangkok 3. Kocok telur dengan garpu sampai rata, siapkan penggorengan yang sudah diberi minyak goreng 4. Panaskan penggorengan, lalu tuang adonan telur tadi, goreng sampai matang 5. Selesai Pada algoritma tertulis langkah 0, yaitu langkah-langkah pre-condition (langkah persiapan hal-hal yang diperlukan dalam pembuatan telur dadar. Kadang langkah 0 tidak dituliskan dalam algoritma. Dalam konsep pemrograman komputer algoritma adalah langkah-langkah yang harus dituliskan seorang programmer untuk menyelesaikan persoalan yang akan diselesaikan dengan program komputer, Contoh: membuat program untuk mencari luas dan keliling empat persegi panjang, algoritmanya seperti berikut: 0 1 2 3 4 5 Mulai Baca Panjang dan baca Lebar dari keyboard Hitung Luas = Panjang * Lebar Hitung Keliling = (Panjang + Lebar) * 2 Cetak Luas dan Keliling ke layar Selesai Flowchart adalah visualisasi dari algoritma dengan simbol-simbol tertentu yang masing-masing simbol menggambarkan proses apa yang dilakukan, misalnya input/output, proses perhitungan, proses evaluasi nilai atau decision. Contoh Flowchart adalah flowchart untuk mencari luas dan keliling empat persegi panjang Penyelesaian maslah mencari luas dan keliling empat persegi panjang adalah menentukan mana yang merupakan variabel input dan mana yang variabel proses. Jika dicermati, untuk menghitung luas dan keliling diperlukan panjang dan lebar, maka penentuan panjang dan lebar adlaah variabel input yang dimasukkan melalui proses masukan variabel, sedangkan luas dan keliling adalah variabel proses yang dihitung oleh komputer. Persoalan mencari luas dan keliling empat persegi panjang, flowchart masih berupa alur program yang selalu lurus tanpa percabangan. Terkadang program tidak linier/lurus, tetapi mengandung percabangan dan perulangan. Masalah percabangan dan perulangan adalah masalah yang memerlukan keputusan. Contoh: menentukan apakah bilangan yang dibaca dari papan ketik/ keyboard adalah genap atau ganjil 1. Mulai 2. Baca bilangan 3. Jika bilangan genap, maka cetak “GENAP”, jika bilangan ganjil, maka cetak “GANJIL” 4. Selesai Flowchartnya bagaimana?????? Terkadang masalah yang dihadapi bukan hanya memerlukan percabangan, tetapi perulangan, karena adanya statemen yang harus berulang dilakukan, misalnya membaca data berkali-kali. Berikut ini contoh algoritma untuk mencari jumlah dan rata-rata dari n buah bilangan real yang diinputkan dari papan ketik/keyboard. 1. 2. 3. 4. Mulai Baca cacah data N (integer) Tetapkan Jum:=0 Untuk nilai I dari 1 sampai N lakukan: a. Baca data X (bilangan real) b. Tentukan Jum:=Jum+X 5. Rata:=Jum/N 6. Cetak Jum, Rata 7. Selesai Bagaimana flowchartnya????? Algoritma dan flowchart adalah solusi logika pemecahan masalah di atas kertas. Untuk dapat menjadi solusi yang nyata diperlukan bantuan komputer yang memiliki perangkat lunak yang bernama bahasa program komputer atau singkatnya program komputer Bahasa program komputer berfungsi untuk memberikan instruksi kepada komputer, agar dapat bekerja seperti yang kita kehendaki. Hal ini karena antara apa yang dipahami oleh manusia tidak serta merta dapat dikerjakan oleh komputer, diperlukan jembatan untuk menghubungkan apa yang dapat dikerjakan oleh komputer dengan apa yang dikehendaki dan dapat dikonsepkan oleh manusia Yang “dipahami” atau dijalankan oleh komputer: data dan instuksi dalam bentuk biner (rangkaian bit-bit bernilai “0” atau “1” Yang dipahami manusia: logika, aritmatika, algoritma, konsep, model dan sebagainya Untuk menjembatani dibuat bahasa pemrograman yang menerjemahkan dari apa yang dikehendaki manusia menjadi instruksi mesin komputer. Bahasa program menerjemahkan logika penyelesaian masalah yang telah disusun menggunakan algoritma atau flowchart dalam bentuk source code menggunakan bahasa program tertentu. Bahasa tingkat rendah (low level language) Bahasa tingkat rendah memetakan setiap instruksi dari kode sumber ke dalam satu instruksi bahasa mesin. Biasanya disebut bahasa assembly. Untuk dapat memprogram dalam bahasa assembly, diperlukan pengetahuan yang benar tentang perangkat keras, represententasi data, cara kerja pemrosesan, dan instruksi-instruksi mesin komputer. Saat ini ada beberapa perangkat lunak untuk memprogram dengan bahasa assembly seperti misalnya: TURBO ASSEMBLY dari Borland atau MACRO ASSEMBLY dari Microsoft. Bahasa tingkat menengah (midle level language) Bahasa yang terletak antara tingkat rendah dan tinggi, seperti misalnya bahasa C. Tetapi pada perkembangan selanjutnya dari bahasa C menjadi C++ dan berbagai versi seperti visual C++, Borland C++ maka bahasa C telah berkembang juga menjadi bahasa tingkat tinggi seperti BASIC dan PASCAL. Bahasa tingkat tinggi (high level language) Istilah tingkat tinggi mengacu pada pengertian bahwa manusia lebih tinggi dari mesin, sehingga bahasa manusia dinilai lebih tinggi dari bahasa mesin. Untuk itu bahasa program yang lebih dekat dengan bahasa manusia disebut bahasa tingkat tinggi, contoh: bahasa PASCAL, bahasa BASIC, bahasa FORTRAN. Pemrograman Prosedural Program tersusun atas prosedur-produser algoritma. Cirinya adanya sequence (urutan), branch (percabangan), dan loop (perulangan) Urutan, berarti bahasa tersebut memiliki urutan pemrosesan tertentu, biasanya dari atas ke bawah dan dari kiri ke kanan Percabangan, merupakan alternatif alur program berdasarkan evaluasi terhadap kondisi tertentu Perulangan, ada 2 jenis: perulangan dengan jumlah perulangan tidak diketahui sebelumnya (WHILE DO, REPEAT UNTIL) dan perulangan dengan jumlah ulangan diketahui sebelumnya (FOR DO) Pemrograman Fungsional Pemrograman ini tersusun atas fungsi-fungsi baik yang sudah terdefinisi maupun yang dibuat sendiri oleh pengguna, Contoh: LISP Pemrograman Deklaratif pemograman ini tersusun atas deklarasi-deklarasi logika, berupa fakta, aturan, dan sasaran. Bahasa pemograman deklaratif memiliki mekanisme inferensi, yang memungkinkan komputer ‘menalar’ atau menelusuri berbagai fakta dan aturan yang diberikan untuk mendapatkan hasil / jawaban dari pertanyaan tertentu. Contoh: Prolog (programming in logic) Pemrograman Berorientasi Objek Persoalan dan solusinya dimodelkan sebagai objek. Objek adalah segala sesuatu di alam semesta (lahiriah) yang dapat diamati. Setiap objek merupakan anggota, atau instance dari kelas objek tertentu. Pemrograman Berorientasi Objek Setiap kelas objek minimal memiliki: a. nama kelas objek yang unik, membedakan dengan kelas objek yang lain b. Atribut-atribut, atau data, atau propertiproperti, atau sifat-sifat yang melekat pada kelas objek tersebut c. Perilaku, atau kemampuan, atau operasi, atau method, atau tanggung jawab yang melekat pada kelas objek tersebut Contoh: Object Pascal, C++, Eiffel, SmallTalk, Java, C# Bahasa BASIC Bahasa PASCAL Bahasa C++ Compiler Mesin untuk menerjemahkan kode sumber program untuk menjadi kode mesin yang berekstensi *.EXE atau *.COM Program dikompilasi secara menyeluruh, sehingga apabila masih ada error di program, maka proses kompilasi gagal Interpreter Interpreter melakukan penerjemahan per baris statemen. Proses penerjemahan per baris statemen dan hasil penerjemahannya langsung dapat dieksekusi. Kode sumber pascal LUASKEL.PAS Proses kompilasi ke disk Hasil kompilasi Hasil Eksekusi Program Selanjutnya file disimpan dalam satu direktori bernama geometri. Untuk menggunakan paket tersebut didefinisikan kelas dengan nama tesGeo.java Hasil program: