BAB I PENGANTAR ALGORITMA Kebayanakan komputer digunakan untuk memperoses dan menyimpan data serta informasi. Pemerosesan perlu dilakukan komputasi-komputasi yang cepat dan akurat. Untuk melakukan tugas-tugas tersebut computer harus diprogram. Suatu program adalah sederatan instruksi (dalam bahasa yang dimengerti oleh computer) yang mengatur apa-apa yang harus dikerjakan oleh computer, untuk mendapatkan suatu hasil /keluaran yang diharapkan. Sebelum suatu program dibuat alangkah baiknya kalau dibuat logika/urutan-urutan untuk memecahkan masalah (algoritma)
Definisi Algoritma -
Urutan langkah-langkah untuk memecahkan masalah
-
Urutan logis pengambilan keputusan untuk memecahkan masalah
Algoritma dibutuhkan untuk memerintah computer mengambil langkah tertentu dalam menyelesaikan masalah.
Penulisan algoritma dapat digunakan dengan cara: 1. Bahasa Natural (bahasa Indonesia, bahasa inggeris dan bahasa manusia lainnya) 2. Menggunakan Flowchart (Diagram alir) Bagus secara visual namun repot bila algoritmanya panjang 3. Menggunakan Pseudo-code Sudah dekat dengan kebahasa pemrograman, namun sulit dimengerti oleh orang yang tidak mengerti algoritma
Contoh : Buat sebuah algoritma untuk memilih bilangan terbesar dari 3 buah bilangan (misalanya 10 4 2)
a. Algoritma dalam bahasa natural 1. Ambil bilangan pertama dan set Maks sama dengan bilangan pertama 2. ambil bilangan kedua dan bandingkan dengan Maks 3. Apabila bilangan kedua lebih besar dari Maks, set Maks sama dengan bilangan kedua 4. Ambil bilangan ketiga dan bandingkan dengan Maks 5. Apabila bilangan ketiga lebih besar dari Maks, set Maks sama dengan bilangan ketiga 6. Variabel Maks berisi bilangan terbesar, tampilkan hasilnya
STIKOM BINANIAGA 2010
1
b. Algoritma dengan Flowchart Mulai
Maks
Bilangan Pertama
Maks < Bilangan kedua
Ya
Maks
Bilangan Kedua
Maks
Bilangan Ketiga
Tidak
Maks < Bilangan ketiga
Ya
Tidak Cetak Maks
Selesai
c. Algoritma dengan Pseudo-code
Maks
Bilangan pertama
If (Maks < Bilangan Kedua) Maks Maks
Bilangan Kedua
Bilangan Kedua
If (Maks < Bilangan Keketiga) Maks
STIKOM BINANIAGA 2010
Bilangan Ketiga
2
Langkah-langkah dalam pembuatan program atau software 1. Mendefinisikan masalah dan menganalisanya -
Tujuan dari pembuatan program
-
Parameter-parameter yang digunakan
-
fasilitas apa saja yang akan disediakan oleh program
-
Menentukan metoda atau algoritma apa yang akan diterapkan
-
Menentukan bahasa program yang akan digunakan untuk pembuatan program
2. Merealisasikan dengan langkah-langkah berikut Start
Desain Algoritma & flowchart
Menuliskan Program
Test Kebenaran Program
Dokumentasi
Arsip
Struktur suatu program terdiri dari beberapa bagian yaitu 1. Input Bagian ini merupakan proses untuk memasukkan data ke computer melalui device yang ada misalnya keyboard, mouse, scanner. Program melakukan proses membaca data yang akan diolah dari device tersebut 2. Output Bagian ini merupakan proses untuk menampilkan data yang telah diolah, melaporkan hasil pengolahan data melalui device seperti monitor, printer. Program melakukan proses mencetak data ke device tersebut 3. Proses pengolahan data
STIKOM BINANIAGA 2010
3
Bagian merupakan proses mengolah data yang diinputkan dengan menerapkan metodemetode, teknik-teknik, algoritma-algoritma yang ada. Proses ini menghasilkan data output yang akan dioutputkan kepada pengguna program 4. Penyimpanan data Bagian ini merupakan proses penyimpanan data dalam memori atau device penyimpanan data seperti disket, harddisk, Cd dan lain-lain Blok digram struktur dari suatu program secara umum Input
Proses pengolahan data
Output
Memory
Aspek Penting dari Algoritma 1. Finitness Algoritma harus berhenti “After a finite numer of steps” 2. Definiteness Setiap langkah harus didefinisikan secara tepat, tidak boleh membingungkan (ambiguous) 3. Input Sebuah algoritma memiliki nol atau lebih input yang diberikan kepada algoritma sebelum dijalankan 4. Output Sebuah algoritma memiliki satu atau lebih output, yang biasanya bergantung kepada input 5. Effectiveness Setiap algoritma diharapkan memiliki sifat efektif
STIKOM BINANIAGA 2010
4
Diagram Alur/Flowchart Flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam suatu program, yang menyatkan arah alur program tersebut. Folowchart digunakan terutama untuk alat Bantu komunikasi. Pedoman untuk menggambarkan flowchart adalah: 1. Sebaiknya digambar dari atas kebawah dan mulai dari bagian kiri suatu halaman 2. Kegiatannya harus ditunjukkan secara jelas 3. Ditunjukkan dengan jelas dimulai dan berakhirnya suatu kegiatan 4. Masing-masing kegiatan sebaiknya digunakan untuk suatu kata yang mewakili suatu pekerjaan 5. Kegiatanya sudah dalam urutan yang benar 6. Kegiatan yang terpotong akan disambung, ditunjukkan dengan jelas oleh symbol penghubung 7. Digunakan symbol-simbol yang standar Ada 5 bagan alir yaitu: 1. Bagan Alir Sistem (System Flowchart) 2. Bagan Alir Dokumen (Document Flowchart) 3. Bagan Alir Skematik (Schematic Flowchart) 4. Bagan Alir Proses (Process Flowchart) 5. Bagan Alir Program (Program Flowchart) Dalam hal ini yang akan dibahas dan yang digunakan adalah Bagan Alir Program (Program Flowchart).Berikut adalah beberapa symbol yang digunakan dalam menggambarkan suatu program flowchart yaitu:
STIKOM BINANIAGA 2010
5
Input/Output; Digunakan untuk mewakili data input atau data output Proses; Digunakan untuk mewakili suatu proses
Garis Alir; Menunjukkan arus dari proses
Decision (Keputusan); Digunakan untuk suatu seleksi kondisi didalam program On-Page Reference; Menunujukkan penghubung kehalaman yang sama Off-Page Reference; Menunujukkan penghubung kehalaman yang berbeda Predefined Proses (Proses Terdefinisi); Menunjukkan suatu operasi yang rinciannya ditunjukkan ditempat lain
Preparation (Persiapan); Digunakan untuk memberi nilai awal suatu besaran Terminator; Menunjukkan awal dan akhir dari suatu proses
STIKOM BINANIAGA 2010
6
3 Struktur Dasar Algoritma Suatu Program 1. Runtunan (Sequence) Penyelesaian masalah berurutan tahap demi tahap, tanpa decision dan looping 2. Keputusan (Decision) Terdapat type Boolean (True or False)
Ya
Tidak
3. Pengulangan (Loop) Pemutaran atau pengualangan kembali, terjadi ketika mengalihkan arus diagram alur kembali ke atas, sehingga beberapa alur berulang kembali beberapa kali Ada 3 konsep dalam looping yaitu : a. For b. Repeat ..Until c.
While .. Do
Type Data Type data berfungsi untuk menentukan nilai yang dapat disimpan ke variable tertentu dan operator-operator apa yang dapat dikenakan kepada variable tersebut, terdapat beberapa macam tipe data yaitu: 1. Tipe data sederhana a. Tipe ordinal, dibagi menjadi: 1. Tipe Bilangan Bulat Macam-macam tipe bilangan bulat - Shortint
-128..127
- Integer
-32768 ..32767
- Longint
-2147483648 .. 2147483647
- Byte
0 ..255
- Word
0 .. 65535
2. Tipe Boolean 3. Tipe Karakter
STIKOM BINANIAGA 2010
7
4. Tipe Terbilang 5. Tipe Subjangkauan b. Tipe Real 2. Tipe String, yaitu sekumpulan karakter 3. Tipe Terstruktur, dibagi menjadi: 1. Tipe Larik 2. Tipe Rekaman 3. Tipe Objek 4. Tipe Himpunan 5. Tipe Berkas 4. Tipe Pointer 5. Tipe Prosedural 6. Tipe Objek
Macam-macam Operator Pada dasarnya ada tujuh macam operator yang dapat digunakan yaitu: 1. Operator pemberian nilai (:=) 2. Operator aritmatik (+, -, *, /, DIV, MOD) 3. Operator pemanipulasi bit 4. Opeartor Boolean (NOT, AND, OR, XOR) 5. Operator Pembanding (=, <>, <, >, <=, >=) 6. Operator Himpunan (+
Union, -
Selisih, *
Interseksi, IN
Anggota dari)
7. Operator String
STIKOM BINANIAGA 2010
8
8.
Pemberian Nilai pada Variabel Suatu variable dapat diartikan sebagai suatu besaran yang dapat berubah-ubah harganya. Cara memberikan harga kepada suatu variable yaitu dengan :
1. Dengan Kotak Penugasan
!
"
" #
!
"
2. Dengan Kotak Masukan
Baca A
Himpunan Data 12 Data yang berharga 12 dibaca dan diberikan kepada variabel A Harga variabel A sekarang=12
STIKOM BINANIAGA 2010
9
Struktur Program Bahasa Java Public class nama_file () { Public static void main(String[]Args) { //Deklarasi Type data ………………. //Deklarasi Input …………………. //Deklarasi Proses …………………….. //Deklarasi Output ……………………….. } }
Ciri-ciri Bahasa Java 1. Program Dibuat Oleh atau terdiri dari beberapa module Object 2. Setiap masing-masing fungsi digunakannya perintah Class dimana sebagai pewarisan program (inheriten) 3. Setiap Object pasti memiliki Atribut-Atribut Program 4. Adanya Behaviour atau method sebagai perintah atau eksekusi
Statement Input/Output 1. Memasukan Data (Input Data) -
Cara yang paling banyak digunakan adalah mengetiknya melalui Key-Board
-
Prosedur standar memainkan variabel dimana seelumnya variabel di deklarasikan di type data prgram
-
Memiliki aturan tertentu untuk beberapa tipe pengenal variable
-
Setiap data yang dimasukkan harus sesuai dengan tipe variabelnya
2. Menampilkan Data (Output) -
System.out.print(….)
-
System.out.print(….)
tanpa ganti baris
-
System.out.println(….)
dengan ganti baris
STIKOM BINANIAGA 2010
10
SEQUNCE/RUNTUNAN Sequnce/runtunan meruapakan algoritma yang penyelesaian masalahnya dilakukan secara berurutan tahap demi tahap, tanpa decision dan looping Contoh : 1. Menghitung dan mencetak jumlah 2 bilangan. Bilangan pertama disebut A, harganya 13. Bilangan kedua disebut B, harganya 12. Jumlahnya disebut C $
%
'
&
%
&
Public class latihan () { Public static void main(String[]Args) { //Deklarasi Type data Int A,B,C; //Deklarasi Input A=13; B=12; //Deklarasi Proses C=A+B; //Deklarasi output System.out.print( C ); } }
&
2. Buatlah Flowchart dan program untuk mencari luas segitiga, bila diketahui ALAS = 10 dan TINGGI = 9 3. Temperatur dalam derajat Fahrenheit, harus dirubah dalam derajat Celcius dan derajat Reaumur bila diketahui rumus sebagai berikut C = 5/9 (F-32) R = 4/9 (F-32) C = derajat Celcius R = derajat Reaumur F = derajat Fahrenheit
4. Hitung Luas dan Keliling yang diketahui jari-jarinya K=2 R L= R2 5. Hitung luas serta panjang sisi miring segitiga siku-siku bila diketahui ke 2 sisi siku-sikunya L = Luas segitiga siku-siku L=½A*B A = Sisi siku-siku pertama C = ( A2 + B 2 ) B = Sisi siku=siku lainnya C = Sisi miring
STIKOM BINANIAGA 2010
11
6. Hitung luas permukaan serta isi bola yang diketahui jari-jarinya L=4 R2 I = (4 R 3)/3 7. Hitung Luas permukaan serta isi tabung tertutup yang diketahui tinggi serta jari-jari alasnya L = 2 R 2 + 2 R.T 2 R (R+T) I=2 R2 T L = Luas Permukaan Tabung R = Jari-jari tabung T = Tinggi tabung I = Isi tabung
STIKOM BINANIAGA 2010
12