algoritma

7
Algoritma Dalam matematika dan komputasi ,a lgoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik . Algoritma sering mempunyai langkah pengulangan (iterasi ) atau memerlukan keputusan (logika Boolean dan perbandingan ) sampai tugasnya selesai. Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama. Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi. Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa : (Struktur Data) Program = Algoritma + Bahasa Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya. - Pembuatan algoritma mempunyai banyak keuntungan di antaranya : Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.

Upload: yusronazharbasyir

Post on 28-Dec-2015

29 views

Category:

Documents


0 download

DESCRIPTION

ALGORITMA

TRANSCRIPT

Page 1: Algoritma

Algoritma

Dalam matematika dan komputasi, algoritma

merupakan kumpulan perintah untuk menyelesaikan suatu

masalah. Perintah-perintah ini dapat diterjemahkan secara

bertahap dari awal hingga akhir. Masalah tersebut dapat

berupa apa saja, dengan catatan untuk setiap masalah, ada

kriteria kondisi awal yang harus dipenuhi sebelum

menjalankan algoritma. Algoritma akan dapat selalu

berakhir untuk semua kondisi awal yang memenuhi

kriteria, dalam hal ini berbeda dengan heuristik. Algoritma

sering mempunyai langkah pengulangan (iterasi) atau

memerlukan keputusan (logika Boolean dan perbandingan)

sampai tugasnya selesai.

Desain dan analisis algoritma adalah suatu

cabang khusus dalam ilmu komputer yang mempelajari

karakteristik dan performa dari suatu algoritma dalam

menyelesaikan masalah, terlepas dari implementasi

algoritma tersebut. Dalam cabang disiplin ini algoritma

dipelajari secara abstrak, terlepas dari sistem komputer atau

bahasa pemrograman yang digunakan. Algoritma yang

berbeda dapat diterapkan pada suatu masalah dengan

kriteria yang sama.

Kompleksitas dari suatu algoritma merupakan

ukuran seberapa banyak komputasi yang dibutuhkan

algoritma tersebut untuk menyelesaikan masalah. Secara

informal, algoritma yang dapat menyelesaikan suatu

permasalahan dalam waktu yang singkat memiliki

kompleksitas yang rendah, sementara algoritma yang

membutuhkan waktu lama untuk menyelesaikan

masalahnya mempunyai kompleksitas yang tinggi.

Program adalah kumpulan pernyataan komputer,

sedangkan metode dan tahapan sistematis dalam program

adalah algoritma. Program ditulis dengan menggunakan

bahasa pemrograman. Jadi bisa disebut bahwa program

adalah suatu implementasi dari bahasa pemrograman.

Beberapa pakar memberi formula bahwa :

(Struktur Data) Program = Algoritma + Bahasa

Bagaimanapun juga struktur data dan algoritma

berhubungan sangat erat pada sebuah program. Algoritma

yang baik tanpa pemilihan struktur data yang tepat akan

membuat program menjadi kurang baik, demikian juga

sebaliknya.

- Pembuatan algoritma mempunyai banyak keuntungan

di antaranya :

Pembuatan atau penulisan algoritma tidak

tergantung pada bahasa pemrograman manapun,

artinya penulisan  algoritma independen dari bahasa

pemrograman dan komputer yang

melaksanakannya.

Notasi algoritma dapat diterjemahkan ke dalam

berbagai bahasa pemrograman.

Apapun bahasa pemrogramannya, output yang akan

dikeluarkan sama karena algoritmanya sama.

- Syarat yang perlu diperhatikan dalam membuat

algoritma :

Teks algoritma berisi deskripsi langkah-langkah

penyelesaian masalah. Deskripsi tersebut dapat

ditulis dalam notasi apapun asalkan mudah

dimengerti dan dipahami.

Tidak ada notasi yang baku dalam penulisan teks

algoritma seperti notasi bahasa pemrograman.

Notasi yang digunakan dalam menulis algoritma

disebut notasi algoritmik.

Setiap orang dapat membuat aturan penulisan dan

notasi algoritmik sendiri. Hal ini dikarenakan teks

algoritma tidak sama dengan teks program. Namun,

supaya notasi algoritmik mudah ditranslasikan ke

dalam notasi bahasa pemrograman tertentu, maka

sebaiknya notasi algoritmik tersebut

berkorespondensi dengan notasi bahasa

pemrograman secara umum.

Notasi algoritmik bukan notasi bahasa

pemrograman, karena itu pseudocode dalam notasi

algoritmik tidak dapat dijalankan oleh komputer.

Agar dapat dijalankan oleh

komputer, pseudocode dalam notasi algoritmik

harus ditranslasikan atau diterjemahkan ke dalam

notasi bahasa pemrograman yang dipilih. Perlu

diingat bahwa orang yang menulis program sangat

terikat dalam aturan tata bahasanya dan spesifikasi

mesin yang menjalannya.

Page 2: Algoritma

Algoritma sebenarnya digunakan untuk membantu

kita dalam mengkonversikan suatu permasalahan

ke dalam bahasa pemrograman.

Algoritma merupakan hasil pemikiran konseptual,

supaya dapat dilaksanakan oleh komputer,

algoritma harus ditranslasikan ke dalam notasi

bahasa pemrograman. Ada beberapa hal yang harus

diperhatikan pada translasi tersebut, yaitu :

a. Pendeklarasian variabel

Untuk mengetahui dibutuhkannya

pendeklarasian variabel dalam penggunaan

bahasa pemrograman apabila tidak semua

bahasa pemrograman membutuhkannya.

b. Pemilihan tipe data

Apabila bahasa pemrograman yang

akan digunakan membutuhkan pendeklarasian

variabel maka perlu hal ini dipertimbangkan

pada saat pemilihan tipe data.

c. Pemakaian instruksi-instruksi

Beberapa instruksi mempunyai

kegunaan yang sama tetapi masing-masing

memiliki kelebihan dan kekurangan yang

berbeda.

d. Aturan sintaksis

Pada saat menuliskan program kita

terikat dengan aturan sintaksis dalam bahasa

pemrograman yang akan digunakan.

e. Tampilan hasil

Pada saat membuat algoritma kita

tidak memikirkan tampilan hasil yang akan

disajikan. Hal-hal teknis ini diperhatikan ketika

mengkonversikannya menjadi program.

f. Cara pengoperasian compiler atau interpreter

Bahasa pemrograman yang digunakan

termasuk dalam

kelompok compiler atau interpreter.

Flowchart

Flowchart atau diagram alir merupakan sebuah

diagram dengan simbol-simbol grafis yang menyatakan

aliran algoritma atau proses yang menampilkan langkah-

langkah yang disimbolkan dalam bentuk kotak, beserta

urutannya dengan menghubungkan masing-masing langkah

tersebut menggunakan tanda panah. Diagram ini bisa

memberi solusi selangkah demi selangkah untuk

penyelesaian masalah yang ada di dalam proses atau

algoritma tersebut.

Sistem flowchart adalah urutan proses dalam

sistem dengan menunjukkan alat media input, output, serta

jenis media penyimpanan dalam proses pengolahan data.

Program flowchart adalah suatu bagan dengan simbol-

simbol tertentu yang menggambarkan urutan proses secara

mendetail dan hubungan antara suatu proses (instruksi)

dengan proses lainnya dalam suatu program.

Pedoman dalam membuat flowchart, jika seorang

analis dan programmer akan membuat flowchart, ada

beberapa petunjuk yang harus diperhatikan, seperti :

1. Flowchart digambarkan dari halaman atas ke bawah

dan dari kiri ke kanan.

2. Aktivitas yang digambarkan harus didefinisikan secara

hati-hati dan definisi ini harus dapat dimengerti oleh

pembacanya.

3. Kapan aktivitas dimulai dan berakhir harus ditentukan

secara jelas.

4. Setiap langkah dari aktivitas harus diuraikan dengan

menggunakan deskripsi kata kerja, misalkan

melakukan penggandaan diri.

5. Setiap langkah dari aktivitas harus berada pada urutan

yang benar.

6. Lingkup dan range dari aktifitas yang sedang

digambarkan harus ditelusuri dengan hati-hati.

Percabangan-percabangan yang memotong aktivitas

yang sedang digambarkan tidak perlu digambarkan

pada flowchart yang sama. Simbol konektor harus

digunakan dan percabangannya diletakan pada

halaman yang terpisah atau hilangkan seluruhnya bila

percabangannya tidak berkaitan dengan sistem.

7. Gunakan simbol-simbol flowchart yang standar.

Page 3: Algoritma

Dalam bekerja dengan dengan kode program

termasuk dengan Visual Basic 6.0, kita tidak akan pernah

lepas dari yang namanya variabel. Variabel adalah nama

penyimpan data di memori komputer yang digunakan

selama eksekusi program dan nilai datanya bisa berubah-

ubah.

Variabel Lokal adalah variabel yang hanya

dikenali oleh satu bagian program saja. Nilai data yang

tersimpan didalamnya hanya hidup selama bagian program

tersebut dijalankan. Cara penulisannya adalah dituliskan

secara langsung di dalam suatu fungsi satu subroutine tanpa

pendefinisian atau dengan definisi variabel di dalam suatu

fungsi. Variabel global adalah variabel yang dapat dikenali

oleh seluruh bagian program. Nilai data yang tersimpan

didalamnya akan hidup terus selama program berjalan.

Contohnya Dim a as Integer diletakkan pada baris paling

atas, maka variabel a selalu aktif selama form aktif.

Perbedaan antara variabel global dan variabel

lokal adalah variabel lokal hanya dapat dikenali oleh satu

bagian program sedangkan variabel global dapat dikenali

oleh seluruh bagian program.

Nama variabel disesuaikan dengan nilai yang

disimpan di dalamnya. Tetap ada aturan dalam pembuatan

nama variabel, yaitu :

a. Dimulai dengan huruf. Setelahnya baru diperbolehkan

diikuti angka

b. Jumlah karakter tidak boleh lebih dari 255 karakter

c. Tidak boleh disisipi oleh karakter-karakter tertentu,

seperti karakter: ,.?/ \”( ){ }! @$%^*

d. Tidak boleh sama dengan yang lain, yaitu menggunakan

kata kunci yang sudah dikenal oleh VB 6.0 (seperti

Dim, As dan lain-lain).

Variabel terdiri dari beberapa jenis. Setiap jenis

variabel memiliki nilai rentang yang diperbolehkan. Selain

itu, penilaian jenis variabel dan jumlah variabel akan

berpengaruh terhadap jumlah kebutuhan memori komputer

(RAM).

Untuk mendeklarasikan suatu variabel yang

bukan jenis variabel harus menggunakan perintah Private,

Dim, Public atau Static.

Private : Digunakan untuk membuat variabel

lokal, hanya dapat diakses dalam

prosedur atau modul dimana dia

dideklarasikan.

Dim : Digunakan untuk mendaftarkan

variabel tipe tertentu.

Contoh Dim a As Integer.

Public : Digunakan agar variabel tersebut dapat

di akses dari produk lain tidak hanya

produk itu saja

Static : Digunakan agar isi datanya tetap ada di

memori setiap kali digunakan.

Perbedaan pernyataan Dim dan Static adalah

waktu hidup variabel tersebut hanya sewaktu prosedur itu

berjalan. Jika prosedur itu sesuai, maka variabel itu akan

terhapus secara otomatis. Tetapi, jika menggunakan static,

maka waktunya selama aplikasi berlangsung dan jika

prosedur itu dimatikan, maka nilai akhirnya itu telah

tersimpan dalam program tersebut.

Setiap variabel untuk menyimpan data dengan

type tertentu membutuhkan alokasi jumlah memory (byte)

yang berbeda. Variabel dibuat melalui penulisan deklarasi

variabel di dalam kode program :

Dim <nama_variabel> As <type_data>

Contoh : Dim nama_user As String

Contoh prosedur Static adalah sebagai berikut:

Static Sub Command1_Click ()

Dim nama As Integer

Dim NIM As Integer

Static No As Integer

End Sub

Hasilnya, jika perintah static di depan nama

prosedur, maka seluruh variabel dalam prosedur itu bersifat

static walaupun dideklarasikan oleh pernyataan Dim.

Jika mendeklarasikan pernyataan dengan public,

maka variabel tersebut akan bersifat global, artinya dapat

dikenal dalam seluruh modul, form atau prosedur yang

terdapat di program aplikasi tersebut.

Variabel yang nilai datanya tetap dan tidak bisa

diubah disebut konstanta. Penulisan deklarasi konstanta

Page 4: Algoritma

dalam kode program : [Public/Private]const(nama

konstanta)[As Type] = Ekspresi

Keterangan :

- […] : dibolehkan tidak ada

- Public : Dapat diakses dari semua

form/modul

- Private : Hanya dapat diakses dari

form/modul dimana dideklarasikan

- Type : Jenis data misalnya Integer, String,

Single dan sebagainya

- Ekspresi : Nilai yang cara penulisannya

tergantung pada type data dan

sebagainya.

Konstanta Numerik (Byte, Integer, Single dan lain-lain)

ditulis apa adanya, contoh: 250-75, 267E-2

Konstanta String ditulis dengan diapit tanda (“…”)

Konstanta Date ditulis dengan diapit tanda pagar (#...#).

Contoh: #30/01/2001# , #4.15 PM#

Konstanta Boolean hanya berisi 2 nilai yaitu true dan

false

Contoh penggunaan konstanta: cons tgl gajian As Date =

#25/09/2009#

Sebuah Variabel mempunyai ruang lingkup (scope) dan

waktu hidup (life time)

► Cara Penulisan Variabel Global :

Public Sub command1_click()

Dim x As Single

Dim b As Single

Dim c As Integer

. . .

End sub

► Cara Penulisan Variabel Lokal :

Private sub command1_click()

Dim a As integer

. . .

End Sub

Kontrol Pemrograman

Struktur kontrol program atau kadang disebut

sebagai struktur kendali merupakan penerapan dari

algoritma struktur percabangan dan struktur pengulangan.

a. Struktur Percabangan

Struktur percabangan dalam Visual Basic

dapat dilakukan dengan menggunakan If ... Then, dan

Select ... Case. If ... Then digunakan jika percabangan

tidak terlalu banyak. Sedangkan Select ... Case

digunakan jika ada banyak percabangan. Perhatikan

contoh penulisan If ... Then ini.

Contoh penulisan If .. Then :

1. Percabangan/pemilihan satu baris tanpa Else :

If x > 0 Then y = x 

2. Percabangan/pemilihan satu baris dengan Else :

If x > 0 Then y = x Else y = 0 

3. Percabangan/pemilihan satu baris dengan Else

dan titik dua :

If x > 0 Then y = x: x = 0 Else

y = 0 

4. Percabangan ditulis dengan cara lebih dari satu

baris :

If x > 0 Then

y = x

x = 0

Else

y = 0

End If 

5. Penggunaan blok if :

If x > 0 Then

y = x

ElseIf x < 0 Then

y = x * x

Else

x = -1

End If 

Contoh penulisan Select ... Case :

Dim position As Integer 'Pilihan

position = CInt(txtPosition.Text)

Page 5: Algoritma

Select Case position

Case 1

txtOutcome.Text = "Menang"

Case 2

txtOutcome.Text = "Kalah"

Case 3

txtOutcome.Text = "Seri"

Case Else

txtOutcome.Text = "Tidak

bertanding."

End Select