Zaenal Abidin, S.Si., M.Cs. Riza Arifudin, S.Pd., M.Cs. Dalam kehidupan sehari-hari, untuk berkomunikasi butuh bahasa yang sama. Jika lawan bicara tidak penerjemah Analog di bahasa pemrograman, kita harus menggunakan bahasa yang dimengerti komputer. Komputer mesin digital. Komputer hanya hanya mengenal kondisi ada arus listrik (dilambangkan dengan 1) dan tidak ada arus listrik (dilambangkan dengan 0) Untuk pemrograman menggunakan kode sandi 0 dan 1. Bahasa pemrograman yang menggunakan kode biner bahasa mesin Bahasa mesin susah kode biner diganti dengan singkatan kata (mnemonic). Bahasa pemrograman yang menggunakan singkatan kata bahasa assembly. CMP AL, 0D Artinya : bandingkan nilai register AL dengan 0D. CMP singkatan dari CoMPare Perintah CMP AL, 0D lebih mudah dipahami dari pada 1010 0000 1011. Software yang mengkonversikan perintahperintah assembly ke dalam bahasa mesin assembler. Bahasa assembly dirasa masih terlalu sulit. Diciptakan bahasa generasi ketiga 3GL (thirdgeneration language) atau Bahasa tingkat tinggi (high level language). Contoh: Basic, Pascal, C, C++,COBOL Umumnya bahasa tingkat tinggi menggunakan bahasa inggris sebagai bahasa internasional. Software yang menerjemahkan program ke dalam bahasa assembly atau bahasa mesin ada 2 macam: 1. Interpreter 2. Compiler Interpreter Compiler Menerjemahkan program baris per baris Menerjemhakan semua perintah dalam bahasa mesin kemudian menjalankan hasil penerjemahan. Contoh: Basic Contoh: Pascal, C, C++ Mendefinisikan masalah. Menentukan solusi. Memilih algoritma. Menulis program. Menguji program. Menulis dokumentasi. Merawat program. Algoritma adalah urutan langkah berhingga untuk memecahkan masalah logika atau matematika. Dalam kehidupan sehari-hari sering menggunakan algoritma untuk melakukan sesuatu. contoh: Algoritma MENULIS SURAT 1. Mempersiapkan kertas dan amplop 2. Mempersiapkan alat tulis. 3. Mulai menulis. 4. Memasukkan kertas ke dalam amplop. 5. Pergi ke tempat pengiriman surat untuk mengeposkan surat. Dalam kasus lain, Anda mungkin harus melakukan langkah-langkah tertentu beberapa kali. Dalam dunia pemrograman disebut pengulangan. Menghitung luas daerah lingkaran. Rumus luas daerah lingkaran: L=R2. Contoh algoritmanya: 1. Masukkan R. 2. Pi 3.14. 3. L Pi*R*R. 4. Tulis L Tanda “” dibaca “assigned” atau “diberi input/nilai” Contoh berikut adalah algoritma untuk menuliskan nilai mutlak dari nilai yang dimasukkan oleh pengguna. Definisi nilai mutlak Berikut ini adalah algoritma untuk melukiskan nilai absolut dari masukkan pengguna. 1. Masukkan x. 2. Jika (x<0) maka kerjakan baris 3, jika tidak kerjakan baris 4. 3. x -x 4. Tulis x Mencari rata-rata dari data xi yang berjumlah N. 1. 2. 3. 4. 5. 6. 7. 8. 9. Masukkan N. i 1. jum 0. Selama (i<=N) kerjakan baris 4 sampai dengan 7. Masukkan dt i i+1. jum jum + dt Rata jum/N Tulis Rata Input: suatu algoritma memiliki input atau kondisi awal sebelum algoritma dilaksanakan dan bisa berupa nilai-nilai pengubah yang diambil dari himpunan-himpunan khusus. Output: suatu algoritma akan menghasilkan output setelah dilaksanakan, atau mengubah kondisi awal menjadi kondisi akhir, dimana nilai output diperoleh dari nilai input yang telah diproses melalui algoritma. Definiteness: langkah-langkah yang dituliskan terdefinisi dengan jelas. Finiteness: algoritma harus memberi kondisi akhir. Effectiveness: algoritma dapat dilaksanakan dalam selang waktu tertentu sehingga memberi solusi seperti yang diharapkan. Generality: langkah-langkah algoritma berlaku untuk setiap himpunan input yang sesuai dengan persoalan yang akan diberikan tidak hanya untuk himpunan tertentu. Flowchart untaian simbol gambar (chart) yang menunjukkan alira (flow) dari proses terhadap data. Flowchart dibedakan menjadi 2 bagian: 1. Program Flowchart 2. System Flowchart Simbol Nama Keterangan Terminator Untuk MULAI atau SELESAI Proses Menyatakan proses terhadap suatu data Input/Output Menerima input atau menampilkan output Seleksi/Pilihan Memilih aliran berdasarkan syarat Simbol Nama Keterangan PredefinedData Definisi awal dari variabel atau data PredefinedProcess Lambang fungsi atau sub-program Connector Penghubung pada halaman Off-page connector Penghubung halaman yang berbeda Simbol Nama Keyboard Printer File/Storage Display/Monitor Keterangan Simbol Nama Magnetic Tape Magnetic Disk Sorting Extract Merge Keterangan Menghitung luas lingkaran Mulai Pi 3.14 Masukkan R LPi*R*R Tulis L Selesai