Nindy Alvian
Thursday, November 21, 2013
Sunday, November 3, 2013
Monday, October 28, 2013
Saturday, September 21, 2013
TUGAS ALGORITMA
DASAR TEORI TENTANG ALGORITMA
DAN PEMROGRAMAN
Definisi Algoritma
Algoritma
adalah suatu urutan langkah-langkah yang telah disusun secara logis dan
sistematis yang bertujuan menyelesaikan suatu masakah dan dapat dieksekusi.
Sebuah
algoritma tidak selalu berhubungan dengan komputer. Contoh dalam kehidupan
sehari-hari adalah cara membuat masakan yang dinyatakan dalam resep. Pada
setiap resep selalu ada langkah-langkah yang logis agar sesuai dengan masakan
yang diinginkan. Secara umum, pihak (benda) yang mengerjakan proses disebut
pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot
atau alat-alat elektronik lainnya. Pemroses melakukan suatu proses dengan
melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut.
Mengerjakan
algoritma berarti mengerjakan langkah-langkah di dalam algoritma tersebut dan
harus sesuai. Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti
oleh pemroses. Jadi suatu pemroses harus mengerti setiap langkah dalam
algoritma dan mengerjakan operasi yang bersesuaian dengan langkah tersebut.
Sebuah
algoritma diperbolehkan tanpa ada input tetapi minimal harus ada 1 output.
Jumlah langkah (steps) dalam sebuah algoritma harus berhingga atau dengan kata
lain harus ada akhir proses. Pada saat ini, sebuah PC (personal computer) dapat
melakukan puluhan juta penjumlahan dalam waktu satu detik. Sebuah output
kadang-kadang memerlukan lebih dari satu algoritma khususnya dalam Penginderaan
Jarak Jauh yang umumnya memerlukan banyak algoritma untuk menghasilkan sebuah
output sehingga untuk menghasilkan sebuah output yang benar dan cepat maka
algoritma dalam Penginderaan Jarak Jauh selalu berhubungan dengan komputer.
Program
yang disusun secara sistematis dan logis dan dapat menyelesaikan masalah
(menghasilkan output) adalah merupakan sebuah algoritma. Secara umum, ada tiga
elemen penting yang harus dimiliki mulai dari pembuatan sebuah algoritma
(brainware), program untuk menjalankan algoritma (software), dan alat untuk
pemrosesan algoritma (hardware) yang secara struktural. Perangkat keras
(hardware) merupakan berbagai peralatan yang terdapat di dalam suatu sistem
komputer seperti papan ketik (keyboard), layar (monitor), disk, memori, dan
unit pemroses (CPU=Central Processing Unit).
Perangkat keras sebuah komputer terdiri
dari enam unit (logika) yang saling berhubungan membentuk suatu organisasi
komputer yaitu:
1.
Unit
input, yang digunakan untuk menerima masukan data dan/atau
program komputer dari berbagai alat masukan (input devices) dan menempatkannya
ke unit lain sedemikian rupa sehingga dapat diproses.
2.
Unit
output, yang digunakan untuk menyimpan data atau informasi
yang telah diproses oleh komputer dan menempatkannya pada berbagai alat output
(output devices) sehingga dapat digunakan oleh pengguna.
3.
Unit
memori, yang sering disebut sebagai memori utama digunakan
untuk menyimpan atau menampung masukan dari unit input, sehingga data
(informasi) tersebut selalu tersedia untuk diproses pada saat dibutuhkan.Unit
ini juga menampung hasil proses komputer sampai diperlukan oleh unit output.
4.
ALU(Arithmetic
and Logic Unit), yang bertugas untuk melakukan operasi
aritmetika (perhitungan) seperti penjumlahan, pengurangan, perkalian, dan
pembagian. Disamping itu, ALU juga bertugas untuk melakukan keputusan dari
suatu operasi logika dasar maupun operasi boolean sesuai dengan instruksi
program seperti sama dengan (=), tidak sama dengan (≠), kurang dari (<),
kurang atau sama dengan (), dan lebih besar atau sama dengan (>), dan
lain-lain.
5.
CPU
(Central Processing Unit) merupakan ”brain” atau ”processor”
dari sebuah komputer yang merupakan koordinator dan penanggung jawab bagi
operasi unit-unit lainnya. Unit ini menyampaikan informasi pada unit input,
menentukan kapan informasi harus dibaca ke dalam unit memori, dan pada unit
output, kapan harus mengirim informasi dari memori ke alat-alat output.
6.
Secondary
storage unit, yaitu media penyimpan data dan/atau
program yang non-volatile berupa Flash Drive, Optical Disc, Magnetic Disk,
Magnetic Tape. Media ini biasanya daya tampungnya cukup besar dengan harga yang
relatif murah.
Mekanisme kerja komponen utama komputer
dapat dijelaskan sebagai berikut : mula-mula program dimasukkan ke dalam memori
komputer. Ketika program dilaksanakan (execute), setiap instruksi yang
telah tersimpan di dalam memori dikirim ke CPU. CPU mengerjakan operasioperasi
yang bersesuaian dengan instruksi tersebut. Bila suatu operasi memerlukan data,
data dibaca dari piranti masukan, disimpan di dalam memori lalu dikirim ke CPU
untuk operasi yang memerlukannya tadi. Bila proses menghasilkan keluaran atau
informasi, keluaran disimpan ke dalam memori, lalu memori menuliskan keluaran
tadi ke piranti keluaran (misalnya dengan menampilkannya di layar monitor).
Bahasa
Pemrograman
|
Paradigma Pemrograman
1. Pemrograman
Prosedural
v Berdasarkan
urutan- urutan, sekuensial
v Program
adalah suatu rangkain prosedur untuk memanipulasi data. Prosedur adalah
kumpulan instruksi yang dikerjakan dengan berurutan.
v Harus
mengingat prosedur mana yang telah dipanggil dan apa saja yang telah diubah.
2. Pemrograman
Fungsional
v Berdasarkan
teori fungsi matematika
v Fungsi
adalah dasar utama program
3. Pemrograman
Terstruktur
v Berurutan
dan terstruktur
v Program
dapat dibagi menjadi prosedur dan fungsi
v Contoh
: PASCAL dan C
4. Pemrograman
Modular
v Membentuk
banyak modul
v Modul
adalah kumpulan dari prosedur dan fungsi yang berdiri seniri.
v Sebuah
program dapat merupakan kumpulan dari beberapa modul
v Contoh
: MODULA-2 atau ADA
5. Pemrograman
Berorietasi Obyek
v Pemrograman
berdasarkan prinsip obyek, dimana obyek memiliki data/variable/property dan
method/event/prosedur yang dapat dimanipulasi
v Contoh
: C++, object pascal dan Java
6. Pemrograman
Berorietasi Fungsi
v Pemrogrman
ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan
pembuatan bahasa pemrograman.
v Contoh
: SQL (Structured Query Language), HTML, XML, dan lain sebagainya.
7. Pemrograman
Deklaratif
v Pemrograman
ini mendeskripsikan tentang masalah dengan pernyataan daripada memecahkan
masalah dengan implementasi algoritma.
v Contoh
: PROLOG
KARAKTERISTIK ALGORITMA
- Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. Sebagai contoh, dalam algoritma Euclidean, pada langkah 1, jika n = 0, algoritma berhenti, jika n tidak = 0 maka nilai n selalu berkurang sebagai akibat dari langkah 2 dan 3, dan pada akhirnya nilai n = 0. Program yang tidak pernah berhenti mengindikasikan bahwa program tersebut berisi algoritma yang salah.
- Setiap langkah harus di defenisikan dengan tepat dan tidak berarti dua (ambiguous). Pembaca harus mengerti apa yang di maksud dengan “m” dan “n” adalah bilangan bulat tak negatif (-). Contoh lainnya pernyataan ” bagilah p dengan beberapa sejumlah bilangan bulat positif” dapat bermakna ganda. Berapakah yang di maksud dengan “berapa” ? Algoritma menjadi jelas jika langkah tersebut di tulis “bagilah p dengan 10 buah bilangan bulat positif”
- Algoritma memiliki nol atau lebih masukan (input). Masukan ialah besaran yang diberikan kepada algoritma untuk di proses. Algoritma Euclidean mempunyai dua buah masukan, yaitu m dan n.
- Algoritma mempunya nol atau lebih keluaran (output). Keluaran dapat berupa pesan atau besaran yang memiliki hubungan dengan masukan. Algoritma Euclidean mempunyai 1 keluaran, yaitu m pada langkah 1, yang merupakan pembagi bersama terbesar dari kedua bilangan.
- Algoritma harus sangkil (effective). Setiap langkah harus sederhana sehingga dapat di kerjakan dalam sejumlah waktu yang masuk akal.
FLOWCHART
Definisi
Flowchart
Flowchart merupakan
gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta
pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap
simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan
dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan kita untuk
melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah.
Disamping itu flowchart juga
berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja
dalam tim suatu proyek.
Berikut simbol – simbol flowchart yang sering
digunakan :
SIMBOL
|
ARTI
|
Input
/ output
|
Mempresentasikan
input data atau output data yang diproses atau informasi
|
Proses
|
Mempresentasikan
operasi
|
Penghubung
|
Keluar
ke atau masuk dari bagian lain flowchart khususnya halaman yang sama
|
Anak
Panah
|
Mempresentasikan
alur kerja
|
Penjelasan
|
Digunakan
untuk komentar tambahan
|
PSEUDOCODE
Pseudo berarti imitasi dan code berarti kode yang dihubungkan dengan
instruksi yang ditulis dalam bahasa komputer (kode bahasa pemrograman). Apabila
diterjemahkan secara bebas, maka pseudocode berarti tiruan atau imitasi dari
kode bahasa pemrograman.
Pada dasarnya, pseudocode merupakan suatu bahasa yang memungkinkan
programmer untuk berpikir terhadap permasalahan yang harus dipecahkan tanpa
harus memikirkan syntax dari bahasa pemrograman yang tertentu. Tidak ada aturan
penulisan syntax di dalam pseudocode. Jadi pseudocode digunakan untuk
menggambarkan logika urut-urutan dari program tanpa memandang bagaimana bahasa
pemrogramannya.
Walaupun pseudocode tidak ada aturan penulisan syntax, di dalam buku ini
akan diberikan suatu aturan-aturan penulisan syntax yang cukup sederhana agar
pembaca dapat lebih mudah dalam mempelajari algoritma-algoritma yang ada di
dalam buku ini. Pseudocode yang ditulis di dalam buku ini akan menyerupai
(meniru) syntax-syntax dalam bahasa Pascal. Namun dibuat sesederhana mungkin
sehingga tidak akan ada kesulitan bagi pembaca untuk memahami
algoritma-algoritma dalam buku ini walaupun pembaca belum pernah mempelajari
bahasa Pascal.
Contoh algoritma menentukan bilangan terbesar dari tiga bilangan yang
ditulis dalam bentuk pseudocode bergaya buku.
BAHASA PEMROGRAMAN
Bahasa pemrograman (programming language) adalah suatu komando atau
perintah yang dibuat manusia untuk membuat komputer menjadi memiliki fungsi
tertentu. bahasa pemrograman ini
adalah suatu susunan aturan penulisan (sintaks) yang membentuk kode kode yang
kemudian akan diterjemahkan oleh program kompiler menjadi bahasa rakitan
(assembly) dan terus diolah hingga dimengerti oleh mesin. Komputer hanya
mengerti bahasa mesin. menurut tingkat kedekatannya bahasa pemrograman (
programming language) terdiri dari
- Bahasa mesin. yaitu bahasa yang digunakan untuk memprogram komputer dengan menggunakan kode semacam kode biner misalnya.00100001010100100
- Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb
- Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
- 4. Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb
Bahasa
pemrograman yang populer, antara lain :
¨ FORTAN
FORTAN ( formula
translation). pertama kali dikembangkan pada tahun 1956 oleh Jhon Backus di
IBM. ditujukan untuk mempermudah pembuatann aplikasi matematika , ilmu
pengetahuan dan teknik. FORTAN merupakan bahasa pemrograman tingkat tinggi yang pertama ada. keunggulan
fortan terletak pada dukungan untuk menangani perhitungan , termasuk bilangan
kompleks. Kelemahan bahasa ini adalah pada operasi masukan dan keluaran yang
kaku. selain itu kode sumbernya juga sulit dipelajari
Contoh Struktur FORTAN
// JOB
// FOR
* ONE WORD INTEGERS
* IOCS(DISK,TYPEWRITER,KEYBOARD,PAPERTAPE)
______DIMENSION IEMG(10,15),IEMG1(13)
______DEFINE FILE 12(80,150,U,K)
______WRITE(1,10)
___10 FORMAT('PAPERTAPE'//'GIVE NUMBER EXPERIMENT (1-5 IN INT)')
______READ(6,30) M
___30 FORMAT(I1)
______PAUSE 1
______DO 25 N=1,16
______DO 15 I=1,15
______READ(4,20) IEMG1
___20 FORMAT(13I4)
______DO 15 J=4,13
______J3=J-3
___15 IEMG(J3,I)=IEMG1(J)
______NE=N+(M-1)*16
___25 WRITE(12'NE) IEMG
______CALL EXIT
______END
// DUP
*DELETE SJA1
*STORECI WS UA SJA1
*FILES(12,EMG)
// JOB
// FOR
* ONE WORD INTEGERS
* IOCS(DISK,TYPEWRITER,KEYBOARD,PAPERTAPE)
______DIMENSION IEMG(10,15),IEMG1(13)
______DEFINE FILE 12(80,150,U,K)
______WRITE(1,10)
___10 FORMAT('PAPERTAPE'//'GIVE NUMBER EXPERIMENT (1-5 IN INT)')
______READ(6,30) M
___30 FORMAT(I1)
______PAUSE 1
______DO 25 N=1,16
______DO 15 I=1,15
______READ(4,20) IEMG1
___20 FORMAT(13I4)
______DO 15 J=4,13
______J3=J-3
___15 IEMG(J3,I)=IEMG1(J)
______NE=N+(M-1)*16
___25 WRITE(12'NE) IEMG
______CALL EXIT
______END
// DUP
*DELETE SJA1
*STORECI WS UA SJA1
*FILES(12,EMG)
¨ BAHASA
COBOL
COBOL (comon Businnes
Oriented Language) dikembangkan pada tahun 1959 dan tergolong sebagai bahasa
pemrograman tingkat tinggi. sesuai dengan kepanjangan namanya bahasa ini
dikembangkan untuk keperluan bisnis. keunggulan COBOL antara lain :
o
sintaksnya yang menggunakan kata bahasa
inggris
o
kemudahan terhadap penanganan file
o
kemudahan input dan output
Contoh Struktur COBOL
000100 IDENTIFICATION
DIVISION.
000200 PROGRAM-ID. HELLOWORLD.
000300
000400*
000500 ENVIRONMENT DIVISION.
000600 CONFIGURATION SECTION.
000700 SOURCE-COMPUTER. RM-COBOL.
000800 OBJECT-COMPUTER. RM-COBOL.
000900
001000 DATA DIVISION.
001100 FILE SECTION.
001200
100000 PROCEDURE DIVISION.
100100
100200 MAIN-LOGIC SECTION.
100300 BEGIN.
100400 DISPLAY " " LINE 1 POSITION 1 ERASE EOS.
100500 DISPLAY "Hello world!" LINE 15 POSITION 10.
100600 STOP RUN.
100700 MAIN-LOGIC-EXIT.
100800 EXIT.
000200 PROGRAM-ID. HELLOWORLD.
000300
000400*
000500 ENVIRONMENT DIVISION.
000600 CONFIGURATION SECTION.
000700 SOURCE-COMPUTER. RM-COBOL.
000800 OBJECT-COMPUTER. RM-COBOL.
000900
001000 DATA DIVISION.
001100 FILE SECTION.
001200
100000 PROCEDURE DIVISION.
100100
100200 MAIN-LOGIC SECTION.
100300 BEGIN.
100400 DISPLAY " " LINE 1 POSITION 1 ERASE EOS.
100500 DISPLAY "Hello world!" LINE 15 POSITION 10.
100600 STOP RUN.
100700 MAIN-LOGIC-EXIT.
100800 EXIT.
¨ BAHASA
PEMROGRAMAN BASIC
Dikembangkan tahun 1965 di Darmouth Collage.
penciptanya John Kemeny
Contoh Struktur Pemrograman Basic
REM Program mencari
rata-rata 3 buah bilangan
INPUT “Masukkan tiga buah bilangan : “, a, b, c
rata=(a+b+c)/3
PRINT “Rata-rata ketiga bilangan adalah : “; rata
INPUT “Masukkan tiga buah bilangan : “, a, b, c
rata=(a+b+c)/3
PRINT “Rata-rata ketiga bilangan adalah : “; rata
¨
BAHASA JAVA
Dikembangkan tahun 1955 oleh sun microsystem. kode java dikompilasi dalam ormat bytcode.java sangat populer saat ini. terutama bagi para online mania.
Public class SayHello { Public static void main(String[] args {
System.out.println(“Hello world!”);
}
}
Dikembangkan tahun 1955 oleh sun microsystem. kode java dikompilasi dalam ormat bytcode.java sangat populer saat ini. terutama bagi para online mania.
Public class SayHello { Public static void main(String[] args {
System.out.println(“Hello world!”);
}
}
¨
PASCAL
perkembangan pemrograman bahasa pascal dimulai pada tahun 1960, yaitu ketika bahasa pemrograman ALGOL 60 digunakan sebagai algorithmic language yang digunakan untuk memecah masalah sehari hari dengan menggunakan komputer. Niklaus Wirt dari sekolah teknik tinggi zurich swiss menjadi terkenal sebagai pencipta bahasa pascal.keunggulan pascal adalah pada strukturnya yang mudah dan lengkap. pascal adalah bahasa paling banyak digunakan dalam dunia pendidikan.
PROGRAM CariMin;
{Mencari Bilangan terkecil dari dua buah bilangan}
VAR
x,y,min:integer;
BEGIN
WRITE(‘Bilangan pertama : ‘);READLN(x);
WRITE(‘Bilangan kedua : ‘);READLN(y);
IF x>y THEN
Min:=y
ELSE
Min:=x;
WRITE(‘Bilangan terkecil : ‘,min);
END.
perkembangan pemrograman bahasa pascal dimulai pada tahun 1960, yaitu ketika bahasa pemrograman ALGOL 60 digunakan sebagai algorithmic language yang digunakan untuk memecah masalah sehari hari dengan menggunakan komputer. Niklaus Wirt dari sekolah teknik tinggi zurich swiss menjadi terkenal sebagai pencipta bahasa pascal.keunggulan pascal adalah pada strukturnya yang mudah dan lengkap. pascal adalah bahasa paling banyak digunakan dalam dunia pendidikan.
PROGRAM CariMin;
{Mencari Bilangan terkecil dari dua buah bilangan}
VAR
x,y,min:integer;
BEGIN
WRITE(‘Bilangan pertama : ‘);READLN(x);
WRITE(‘Bilangan kedua : ‘);READLN(y);
IF x>y THEN
Min:=y
ELSE
Min:=x;
WRITE(‘Bilangan terkecil : ‘,min);
END.
REFERENSI
4.
http://rivsoe666.blog.unsoed.ac.id/2011/10/pengertian-algoritma-flow-chart-dan-pseudocode/
Subscribe to:
Posts (Atom)