Tampilkan postingan dengan label algoritma. Tampilkan semua postingan
Tampilkan postingan dengan label algoritma. Tampilkan semua postingan

Senin, 23 Mei 2011

METODE DEVIDE AND CONQUER (Teknik Sorting)



Metode Devide and Conquer

Prinsip dasar metode Devide and Conquer atau D and C adalah membagi n input menjadi k subset input yang berbeda (1 < k ≤ n). Dari k subset input yang berbeda tersebut akan terdapat k subproblem, dimana setiap subproblem mempunyai solusi masing-masing sehingga diperoleh k subsolusi. Dari k subsolusi tersebut akan diperoleh solusi yang optimal atau solusi yang diharapkan. Bentuk Umum Proses Metode D And C dpt dilihat sbb :


Jika subproblem dianggap masih relatif besar, maka metode D and C dapat digunakan lagi.
Dengan kata lain bahwa metode D and C ini dilakukan dengan membagi setiap input atau permasalahan sampai dengan suatu input atau permasalahan tidak dapat dibagi lagi.
Setelah itu, dari pembagian tadi akan ditemukan solusi yang optimal.

SORTING

Sorting adalah suatu usaha untuk melakukan pengurutan (sorting) sekelompok data dalam suatu array, dilakukan terhadap suatu himpunan yang berisikan elemen bilangan ataupun himpunan karakter (string).
Dalam melakukan proses sorting terdapat beberapa hal yang dapat mempengaruhi kecepatan proses sorting antara lain :

Jumlah operasi perbandingan yang dilakukan, dan
Jumlah operasi pemindahan data yang dilakukan.

Makin banyak jumlah operasi perbandingan maka makin lama proses sorting tersebut berjalan.
Begitu pula dengan operasi pemindahan data, makin banyak jumlah operasi pemindahan data maka makin lama proses sorting tersebut dilakukan.

Metode-Metode dalam Sorting

Metode Selection Sort,
Metode Buble Sort,
Metode Merge Sort,
Metode Quick Sort,dan
Metode Insertion Sort.

SELECTION SORT

Tehnik pengurutan dengan cara pemilihan elemen atau proses kerja dengan memilih elemen data terkecil untuk kemudian dibandingkan & ditukarkan dengan elemen pada data awal, dan seterusnya sampai dengan seluruh elemen sehingga akan menghasilkan pola data yg telah di sorting.

Prinsip Kerja dari Teknik Selection Sort ini adalah :

Pengecekan dimulai data ke-1 sampai dengan data ke-n
Tentukan bilangan dengan Index terkecil dari data bilangan tersebut
Tukar bilangan dengan Index terkecil tersebut dengan bilangan pertama ( I = 1 ) dari data bilangan tersebut
Lakukan langkah 2 dan 3 untuk bilangan berikutnya ( I= I+1 ) sampai didapatkan urutan yang optimal.

Contoh : 22 10 15 3 8 2

Iterasi 1
1 2 3 4 5 6
Langkah 1 : 22 10 15 3 8 2
Langkah 2: 22 10 15 3 8 2
Langkah 3: 2 10 15 3 8 22
Langkah 4: Ulangi langkah 2 dan 3 .

Iterasi 2

Langkah 1: 2 10 15 3 8 22
Langkah 2: 2 10 15 3 8 22
Langkah 3: 2 3 15 10 8 22
Langkah 4: Ulangi langkah 2 dan 3 .

Lakukan Iterasi selanjutnya sampai iterasi
ke-6


BUBLE SORT Tehnik Sort yang bekerja dengan menggunakan prinsip gelembung (buble) udara yang akan bergerak naik ke atas secara satuper satu.

Prinsip Kerja dari Buble Sort adalah :
Pengecekan mulai dari data ke-1 sampai data ke-n
Bandingkan data ke-n dengan data sebelumnya (n-1)
Jika lebih kecil maka pindahkan bilangan tersebut dengan bilangan yg ada didepannya ( sebelumnya ) satu persatu (n-1,n-2,n-3,....dst)
Jika lebih besar maka tidak terjadi pemindahan
Ulangi langkah 2 dan 3 s/d sort optimal.

Contoh : 22 10 15 3 8 2

terasi 1
1 2 3 4 5 6
Langkah 1 : 22 10 15 3 8 2
Langkah 2 : 22 10 15 3 8 2
Langkah 3 : 2 22 10 15 3 8
Langkah 4 : Ulangi langkah 2 dan 3

Iterasi 2

Langkah 1 : 2 22 10 15 3 8
Langkah 2 : 2 22 10 15 3 8 - 8>3, maka 8 tidak pindah, untuk selanjutnya bandingkan data sebelunya yaitu 3.
Langkah 3 : 2 3 22 10 15 8
Langkah 4 : Ulangi langkah 2 dan 3
Lakukan Iterasi selanjutnya sampai iterasi ke- 6


QUICK SORT Sort dengan iterasi secara urut dari posisi elemen 1, ke-2 dan seterusnya. Tukarkan setiap elemen pada posisi tersebut dengan elemen lain yang nilainya memang seharusnya berada pada posisi tersebut.

Prinsip Kerja dari Quick Sort adalah :
Tentukan Lower Bound (Batas Bawah) & Upper Bound (Batas Atas)
Bandingkan Lower Bound (LB) dengan Upper Bound (UB)
Jika LB>UB, Tukar (cari operasi perbandingan yang optimal/terkecil)
Jika LB =< UB, maka Next Upper Bound & Lower Bound
Ulangi langkah diatas s/d sort.

Contoh : 22 10 15 3 8 2

Iterasi 1
1 2 3 4 5 6
Langkah 1 : 22 10 15 3 8 2
LB UB

Langkah 2 :2 10 15 3 8 22

Iterasi 2
Langkah 1 : 2 10 15 3 8 22
LB/UB
Langkah 2 :2 10 15 3 8 22
LB UB
Iterasi 3
Langkah 1 :2 10 15 3 8 22
LB UB
Langkah 2 :2 8 15 3 10 22

Iterasi 4
Langkah 1 :2 8 15 3 10 22
LB UB
Langkah 2 :2 3 15 8 10 22
Lakukan Iterasi selanjutnya sampai iterasi
ke- 6


INSERTION SORT Prinsip dasar Insertion adalah secara berulang-ulang menyisipkan / memasukan setiap elemen. ke dlm posisinya / tempatnya yg benar.

Prinsip Kerja Insertion Sort adalah
Pengecekan mulai dari data ke-1 sampai data ke-n
Bandingkan data ke-I ( I = data ke-2 s/d data ke-n )
Bandingkan data ke-I tersebut dengan data sebelumnya (I-1), Jika lebih kecil maka data tersebut dapat disisipkan ke data awal sesuai dgn posisisi yg seharusnya
Lakukan langkah 2 dan 3 untuk bilangan berikutnya ( I= I+1 ) sampai didapatkan urutan yg optimal.

Contoh : 22 10 15 3 8 2
Iterasi 1
1 2 3 4 5 6
Langkah 1: 22 10 15 3 8 2
Langkah 2: 22 10 15 3 8 2
Langkah 3: 10 22 15 3 8 2
Langkah 4: Ulangi langkah 2 dan 3

Iterasi 2

Langkah 1: 10 22 15 3 8 2
Langkah 2: 10 22 15 3 8 2
Langkah 3: 10 15 22 3 8 2
Langkah 4: Ulangi langkah 2 dan 3

Lakukan Iterasi selanjutnya sampai iterasi
ke- 6
Catatan : Setiap ada pemindahan, maka elemen. Yang sudah ada akan di insert sehingga akan bergeser kebelakang.

MERGE SORT

Prinsip Kerja Merge Sort adalah :
Kelompokan deret bilangan kedalam 2 bagian, 4 bagian, 8 bagian, ......dst  (2n)
Urutkan secara langsung bilangan dalam kelompok tsb.
Lakukan langkah diatas untuk kondisi bilangan yg lain sampai didapatkan urutan yg optimal .

Contoh : 22 10 15 3 8 2

Iterasi 1
1 2 3 4 5 6
Langkah 1 : 22 10 15 3 8 2
Langkah 2 : 10 22 3 15 2 8

Iterasi 2
Langkah 1 : 10 22 3 15 2 8
Langkah 2 : 3 10 15 22 2 8

Iterasi 3

Langkah 1 :3 10 15 22 2 8

Langkah 2 :2 3 8 10 15 22

Minggu, 22 Mei 2011

A R R A Y



• Array atau sering disebut juga dengan istilah variable majemuk, matrik, variable berindek, yaitu untuk melakukan pemesanan sebuah variable yang dapat diisi lebih dari satu nilai tergantung kebutuhan.

• Didalam bahasa pemrograman seperti basic, pascal dan lainnya terdapat variable single dan variable array atau matrik. Variabel single satu variable hanya dapat diisi dengan satu nilai data, sedangkan variable array satu nama variable dapat menyimpan lebih satu nilai data tergantung jumlah yang dipesan.

Contoh :

Dim X As Integer ‘Pemesanan variable x sebagai integer
X  5 ‘Nilai 5 dimasukan pada variable X
X  10 ‘Nilai 10 dimasukan pada variable X
PRINT X ‘Cetak nilai dari X

Maka hasilnya : 10

Keterangan :
• Nilai 5 dimasukan pada variable X, kemudian nilai 10 dimasukan juga pada variable X, maka nilai X yang pertama yaitu 5 akan terhapus dan diganti oleh nilai 10, jadi nilai akhir variable X adalah 10 disebabkan variable X berupa variable tunggal.

ARRAY SATU DIMENSI

Sebelum menggunakan variable array maka terlebih dahulu harus kita lakukan adalah memesan variable dengan jumlah data yang kita inginkan.

Perintah :

DIM variable(jumlahdata) AS [Single l Integer l String]

Contoh 1 :

Akan dilakukan pemesanan variable X dengan jumlah data sebanyak 5 data (index), dengan masing-masing nilai sebagai berikut 3,6,4,5,9

DIM X(5) AS Single
X(1)  3 ‘masukan nilai 3 pada variable X pada index ke 1
X(2)  6 ‘masukan nilai 6 pada variable X pada index ke 2
X(3)  4 ‘masukan nilai 4 pada variable X pada index ke 3
X(4)  5 ‘masukan nilai 5 pada variable X pada index ke 4
X(5)  9 ‘masukan nilai 9 pada variable X pada index ke 5

• Untuk memanggil atau menggunakan nilai / isi dari variable X cukup dengan menyebutkan index ke berapa dari variable X yang akan digunakan. Nilai index harus > 0 dan < 6, karena variable X telah dipesan hanya untuk 5 index saja yaitu DIM X(5) AS Integer.

Contoh 2 :

Dari contoh diatas dimisalkan kita akan menjumlahkan nilai 6 dengan 9, nilai 6 pada index ke 2 dan nilai 9 pada index ke 5.

Tambah  X(2) + X(5) ‘Tambah = 6 + 9

• Mencetak seluruh data yang ada pada variable X sebanyak 5 index, yaitu :

PRINT X(1)
PRINT X(2)
PRINT X(3)
PRINT X(4)
PRINT X(5)

• Mencetak dengan menggunakan perintah FOR ….. NEXT

FOR I=1 TO 5
PRINT X(I)
NEXT I

• Hasilnya : 3
6
4
5
9

ARRAY DUA DIMENSI

• Pernyataan bentuk Array diatas disebut dengan istilah array satu dimensi, disebabkan array tersebut mempunyai satu index baris data seperti DIM X(5).

• Sedangkan yang disebut denggan array dua dimensi, yaitu array yang mempunyai dua index yang terdiri dari index baris dan kolom.

Perintah :

DIM variable(jumlahbaris,jumlah kolom) AS typedata

Keterangan :
• Variabel adalah nama data yang akan dipesan
• Jumlahbaris, pemesanan jumlah baris yang diinginkan
• Jumlahkolom, pemesanan jumlah kolom yang diinginkan
• Typedata dapat berupa String, Integer, Single dan lain-lain

Contoh :

Misalkan kita akan memasukkan data dibawah ini :

1 3
2 5
4 7
9 4

Data diatas akan disimpan pada variable X dengan baris sebanyak 4 dan kolom sebanyak 2, maka cara memesan dan mengisi datanya seperti dibawah berikut :


‘Pesan dan isi data
DIM X(4,2) As Integer
X(1,1)  1
X(1,2)  3
X(2,1)  2
X(2,2)  5
X(3,1)  4
X(3,2)  7
X(4,1)  9
X(4,2)  4

‘Mencetak ke layar
PRINT X(1,1), X(1,2)
PRINT X(2,1), X(2,2)
PRINT X(3,1), X(3,2)
PRINT X(4,1), X(4,2)

Dengan cara FOR …. NEXT

‘Pesan dan isi data
DIM X(4,2) As Integer

‘Mengisi data dengan For … Next
FOR B=1 TO 4
FOR K=1 TO 2
READ X(B,K)
NEXT K
NEXT B
Data 1,3,2,5,4,7,9,4

‘Mencetak ke layar Atau
FOR B=1 TO 4 FOR B=1 TO 4 FOR K = 1 TO 2
FOR K=1 TO 2 PRINT X(B,1),X(B,2)
PRINT X(B,K); PRINT X[K,1],X[K,2]
NEXT K NEXT K
NEXT B NEXT B
PRINT

HUBUNGAN ANTAR KONDISI



Kadang – kadang dalam suatu masalah terdapat beberapa kondisi atau persyaratan yang saling enentukan. Hubungan antar kondisi ini biasanya terdiri dari dua hubungan, yaitu :

1. Hubungan DAN (AND)
Hubungan Dan (AND) merupakan hubungan antar kondisi yang mensyaratkan kedua kondisi terpenuhi. Jika salah satu dari kondisi tidak terpenuhi maka proses/tindakan selanjuynya yang dilakukan adalah kondisi yang bernilai false atau Tidak (T).

Contoh :
• Untuk menentukan penerimaan calon pegawai ditentukan criteria sebagai berikut :

Umur di bawah 30 tahun dan
Nilai Test lebih besar dari 60

2. Hubungan ATAU (OR)
Hubungan ATAU merupakan hubungan antar kondisi yang mensyaratkan hanya salah satu kondisi yang terpenuhi. Kondisi bernilai false atau tidak hanya dapat tercapai jika kedua kondisi tidak terpenuhi.

Contoh :
• Tunjangan pension diberikan kepada pegaai yang berusia lebih dari 60 tahun. Untuk pegawai yang mempunyai masa kerja lebih dari 25 tahun juga mendapatkan tunjangan tersebut.

STRUKTUR LOOPING



Struktur Perulangan (Looping Structure)

Struktur perulangan akan melakukan proses berulang-ulang selama kondisi bernilai TRUE atau selama kondisi perulangan terpenuhi.

Dan kondisi akan berhenti jika hanya keadaan berubah menjadi FALSE atau kondisi perulangan tidak terpenuhi.

Pemutaran kembali, terjadi ketika mengalihkan arus diagram alur kembali ke atas, shg bbrp alur berulang bbrp kali.


  (1) Variabe A diberi harga 1
(2) Var. A berubah hrg menjadi 2
(3) Var.B diberi hrg sebesar hrg A
dikalikan hrg A atau B = 2 x 2 = 4
(4) Harga B dicetak
Lalu ke (2), (3),(4) & kembali
lagi ke (2) dstnya...
Jadi yang akan tercetak adalah harga-harga 4,9,16, ... dst.

Bentuk umum penulisan proses LOOP :

1. Statement WHILE ….. DO
2. Statement REPEAT ……. UNTIL
3. Statement FOR ……
a. Statement FOR + ( For nilai awal To nilai akhir )
b. Statement FOR – ( For nilai akhir To awal )
c. Statement FOR bersarang ( Nested Loop )

1. Statement WHILE ….. DO
Perulangan digunakan untuk melaksanakan blok statement selama kondisinya benar. Dalam perulangan ini kondisi diuji terlebih dahulu.

Bentuk umum :
 
WHILE DO
Begin
...
...
End;

Contoh perulangan WHILE … DO :
...
I := 0
While I < 4 Do Begin writeln(I); I := I + 1; End; ... Jika dieksekusi, maka hasilnya adalah : 0 1 2 3 2. Statement REPEAT ….. UNTIL Perulangan ini melakukan uji kondisi pada akhir perulangan. Artinya, perulangan (loop) dikerjakan terlebih dahulu kemudian baru kondisi diuji. Proses akan diulang sampai suatu kondisi yang diberikan bernilai benar. Bentuk umum :   REPEAT ... ... UNTIL;

Contoh perulangan REPEAT … UNTIL :
...
I := 0
Repeat
writeln(I);
I := I + 1;
Until I = 4;
...

Jika dieksekusi, maka hasilnya adalah :
0
1
2
3

3. Statement FOR …..
Perulangan dengan statement FOR digunakan untuk mengulang statement atau satu blok stetement berulang kali sejumlah yang telah ditentukan.

Macam-macam perulangan statement FOR :
Statement FOR + ( For nilai awal To nilai akhir )
Statement FOR – ( For nilai akhir To awal )
Statement FOR bersarang ( Nested Loop )

a. Statement FOR + ( For nilai awal To nilai akhir )
Bentuk umum :
 
FOR {Batas Awal} TO {Batas Akhir} DO
Begin
{Statement-1};
{Statement-2};
...
...
{Statement-N};
End;

Contoh
...
FOR I := 1 To 5 DO
Begin
writeln(I);
End;


Jika dieksekusi, maka hasilnya adalah :
1
2
3
4
5

b. Statement FOR - ( For nilai akhir To nilai awal )
Bentuk umum :
 
FOR {Batas Awal} DOWNTO {Batas Akhir} DO
Begin
{Statement-1};
{Statement-2};
...
...
{Statement-N};
End;

Contoh
...
FOR I := 5 DownTo 1 DO
Begin
writeln(I);
End;

Jika dieksekusi, maka hasilnya adalah :
5
4
3
2
1

c. Statement FOR bersarang ( Nested Loop )
Biasanya dalam pembuatan program, perulangan tidak hanya satu kali saja, bahkan dalam sebuah perulangan bisa terdapat perulangan yang lain.

Perulangan yang terdapat dalam perulangan yang lain disebut Perulangan Tersarang atau Nested Loop.

Contoh :
FOR I := 1 To 3 DO
Begin
writeln(I,’ Logika’);
FOR J := 4 DownTo 1 DO
Begin
writeln(J,’ Algoritma’);
End;
End;

Jika dieksekusi, maka hasilnya adalah :
1 Logika
4 Algoritma
3 Algoritma
2 Algoritma
1 Algoritma
2 Logika
4 Algoritma
3 Algoritma
2 Algoritma
1 Algoritma
3 Logika
4 Algoritma
3 Algoritma
2 Algoritma
1 Algoritma

Jumat, 20 Mei 2011

INTERPRETASI PERSOALAN KE DALAM FLOWCHART



Kaidah – kaidah Pembuatan Flowchart
Flowchart merupakan gabaran hasil pemikiran dalam menganalisa suatu masalah dengan computer, sehingga flowchart yang dihasilkan dapat bervariasi antara satu program dengan program lainnya.

Namun secara garis besar, setiap pengolahan terdiri dari 3 bagian utama, yaitu :
• Input berupa bahan mentah
• Proses pengolahan
• Output berupa bahan jadi


Urutan dasar untuk pemecahan suatu masalah, yaitu :
• START
Berisi perintah untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan.
• READ
Berisi perintah untuk membaca data dari suatu peralatan input
• PROCESS
Berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca.
• WRITE
Berisi perintah untuk merekam hasil kegiatan ke peralatan output.
• END
Mengakhiri kegiatan pengolahan

Walaupun tidak ada kaidah – kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran, yaitu :
• Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjdi singkat.
• Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas
• Sebuah flowchartdiawali dari satu titik START / MULAI dan diakhiri dengan END / SELESAI

Akumulator
Akumulator merupakan tempat penampungan suatu nilai, nilai yang masuk akan dijumlahkan dengan nilai yang ada di dalamnya, sehingga akumulator dapat dipakai untuk menentukan Nilai Total dari penjumlahan suatu bilangan.
Dalam implementasi bentuk flowchart, akumulator digambarkan dengan menggunakan symbol proses (persegi panjang), Misalnya untuk menghitung nilai total seluruh gaji pegawai maka dapat digambarkan sebagai berikut :



Pada awal proses TOTGAJI bernilai 0, pada waktu proses di atas dilaksanakan, besarnya nilai GAJI ditambahkan akumulator TOTGAJI.

Analisa Persoalan
Untuk mengimplementasikan persoalan ke bentuk flowchart, maka dilakukan analisa masalah dengan merinci spesifikasi programnya.

Spesifikasi terdiri dari :
• Penentuan hubungan antara data input dengan hasil pengolahan
• Penentuan hubungan antara data input dengan pengolahannya
• Penentuan hubungan antara pengolahan dengan data Output.
• Penentuan prosedur/langkah – langkah pengolahannya.

PEMERIKSAAN SUATU KONDISI UNTUK MENGAMBIL SUATU KEPUTUSAN




INPUT

Perintah yang digunakan untuk memasukkan data dari keyboard pada saat program dijalankan, diakhiri dengan menekan tombol Enter. Setiap program dijalankan nilai yang sebelumnya akan hilang.

Bentuk Umum :

INPUT ”pesan”;variable

Contoh :

Dim Nama As String
Input “Ketik nama saudara :”;nama
Print “Nama saudara adalah “;nama

Maka pada waktu program ini dieksekusi, akan menghasilkan :

Ketik nama saudara : nova_ (ketik nama disini kemudian tekan enter)
Nama saudara adalah nova

Perintah yang digunakan untuk melakukan pemeriksaan/tes kondisi terhadap suatu data pada waktu proses sedang berlangsung. If mempunyai dua aturan penulisan yaitu dengan satu baris dan If dengan menggunakan system blok yaitu selalu ditutup dengan END IF.


Bentuk Umum :

IF … THEN … [ELSE satu baris]

IF syarat THEN pernyataan_benar ELSE pernyataan_alternatif

• Syarat :
Merupakan suatu data yang akan dites atau diperiksa dengan menggunakan operator <, >, >=, <=, = atau <>

• Pernyataan_benar :
Merupakan sekumpulan perintah basic yang akan dikerjakan apabila syarat yang dibuat Terpenuhi/Benar.

• Pernyataan_alternatif :
Merupakan sekumpulan perintah basic yang akan dikerjakan apabila syarat yang dibuat Tidak terpenuhi/Salah.

IF dengan kemungkinn lebih dari Satu

Bentuk IF :

IF syarat1 Then
Pernyataan1
Elself syarat2 Then
Pernyataan2
Elself syaratn Then
Pernyataan
Else
Pernyataan Alternatif
End IF

Keterangan :

Pernyataan1 akan dikerjakan apabila syarat1 terpenuhi/benar dan selanjutnya akan dikerjakan perintah setelah End If, tetapi apabila syarat1 tidak terpenuhi maka syarat2 akan dievaluasi apabila syarat2 terpenuhi maka pernyataan2 akan dikerjakan. Pernyataan akan dikerjakan apabila syarat1 dan syarat2 tidak terpenuhi dan syaratn yang terpenuhi, pernyataan Alternatif akan dikerjakan apabila semua syarat tidak terpenuhi.

Select Case

Perintah select case mempunyai kegunaan yang sama seperti IF yaitu untuk melakukan evaluasi atau pemeriksaan terhadap nilai data, tetapi select case digunakan untuk nilai lebih dari 2 (dua)mkemungkinan. Artinya untuk IF dengan kemungkinan lebih dari satu dapat diganti dengan menggunakan perintah select seperti kasus diatas.

Bentuk Umum penulisan :

Select variable case
Case nilai_1
Pernyataan_1
Case nilai_2
Pernyataan_2
Case nilai_3
Pernyataan_3
Case Else
Pernyataan alternatif
End Select

Parameter nilai merupakan syarat dapat berupa angka atau abjad atau menggunakan relasi seperti (>, <, >=, <=, <>) untuk menggunakan relasi harus menggunakan kata IS didepan relasi.





Contoh :
>90 maka ditulis
Select Nilai Case
Case Is >90
Print “Sembilan puluh”
End select
Selain menggunakan relasi, case dapat juga menggunakan kata TO untuk ungkapan yang mempunyai nilai terkecil sampai nilai terbesar.

Contoh :
Nilai antara 85 – 100, maka bentuk penulisan case

Select nilai Case
Case 85 To
100 Grade =”A”
End select

Contoh Pemakaian IF Contoh Pemakaian Select Case

Input “bilangan :”;Bil Input “bilangan :”;Bil
If Bil=1 Then Select Bil Case
Print “Satu” Case 1
ElseIf Bil=2 Then Print “Satu”
Print “Dua” Case 2
ElseIf Bil=3 Then Print “Dua”
Print “Tiga” Case 3
Else Print “Tiga”
Print “salah” Case Else
End If Print “salah”
End Select

PENGENALAN DASAR FLOWCHART



FLOWCHART

Dalam membuat suatu program perlu adanya suatu cara untuk menganalisa suatu kasus yang akan dibuatkan program dengan salah satu bahasa pemrograman. Pada bagian sebelumnya telah dibahas suatu bentuk analisa dengan menggunakan algoritma, ada juga cara lain untuk menganalisa suatu kasus dengan menggunakan Flowchart.

Flowchart adalah sekumpulan gambar – gambar tertentu untuk menyatakan alur dari suatu program yang akan diterjemahkan ke salah satu bahasa pemrograman. Kegunaan flowchart sama seperti halnya algoritma yaitu untuk menuliskan alur program tetapi dalam bentuk gambar atau symbol.

Flowchart dibagi menjadi dua (2) bagian, yaitu :
1. Flowchart yang menggambarkan alur suatu sistem
2. Flowchart yang menggambarkan alur dari suatu program.

Sistem Flowchart
Adalah bagan yang memperlihatkan urutan prosedur dan proses dari beberapa file di dalam media tertentu, melalui flowchart ini dapat terlihat jenis media penyimpanan yang dipakai dalam pengolahan data. Selain itu juga menggambarkan file yang dipakai sebagai input maupun output.
Contoh :

Dari contoh flowchart di atas terlihat bahwa system flowchart menggambarkan :
• Hubungan antara suatu file dengan file lainnya
• Media yang dipakai untuk setiap file

Jadi system flowchart dapat memberikan gambaran umum mengenai system pengolahan data.
Program Flowchart
Adalah bagan yang memperlihatkan urutan dan hubungan proses dalam suatu program.

Flowchart merupakan langkah awal pembuatan program. Dengan adanya program flowchart maka urutan proses di program menjadi lebih jelas, jika ada penambahan proses, maka dapat dilakukan lebih mudah.

Contoh :
Dari contoh flowchart di atas terlihat bahwa program flowchart memberikan gambaran secara rinci tentang urutan instrukdi yang disusun oleh pemrograman untuk diterapkan ke computer.

Setelah flowchart selesai disusun selanjutnya diterjemahkan ke bentuk program dengan bahasa pemrograman, seperti, BASIC, PASCAL, dll.

SIMBOL – SIMBOL FLOWCHART

Flowchart dalam menggambarkan alur sistem atau program menggunakan suatu gambar yang mempunyai symbol tertentu seperti dibawah ini :


Simbol Sistem Flowchart

Simbol Program Flowchart


Contoh :

Sistem yang menunjukan proses entry data, dimana tujuan data yang akan disimpan pada stored data

Sistem yang menunjukan proses pembuatan laporan, dimana sumber data dari Direct Access Storage dan hasil proses dicetak ke document

Kamis, 19 Mei 2011

ATURAN PENULISAN DASAR PADA BAHASA PEMROGRAMAN BASIC



Tipe data dalam bahasa Basic dibagi menjadi 2 kelompok, yaitu :
1. Tipe data scalar
Suatu variabel atau konstanta disebut tipe scalar apabila variabel atau konstanta hanya menyimpan sebuah nilai data.

2. Tipe data terstruktur
Apabila sebuah variabel atau konstanta menyimpan lebih dari sebuah nilai data.

TIPE UNTAI (STRING)

Untai atau disebut String adalah sederatan karakter yang terdiri dari maksimum 32767 karakter. Kode – kode karakter ini mempunyi nomor 0 sampai 127 dalam daftar karakter ASCII dan 128 sampai 255 untuk karakter non ASCII. Tipe data ini harus ditulis diantara “ “ (apostrof).

Contoh :
“Ini adalah contoh string”

BILANGAN INTEGER

Suatu bilangan yang tidak mempunyai titik decimal dan bilangan decimal. Bilangan ini mempunyai dua batasan nilai, yaitu antara -32768 sampai 32767. Sedangkan untuk tipe Long Integer bernilai antara -2147483648 sampai 2147483647.

BILANGAN RIIL

Suatu bilangan yang mempunyai titik decimal dengan notasi titik tetap (fixed point). Bilangan Riil presisi tunggal mempunyai ketelitian sampai 6 angka decimal. Bilangan Riil presisi tunggal positif mempunyai nilai antara 1.40128E-45 sampai 3.402823E+38 dan bilangan Riil presisi tunggal negative antara -3402823E+38 sampai -1. 1.401298E-45.

Bilangan Riil presisi tunggal mempunyai ketelitian 15 angka dibelakang titik decimal, bilangan Riil presisi ganda positif mempunyai nilai antara 4.940656458412465D-324 sampai 1.797693134862315D+308 dan bilangan Riil presisi ganda negative antara -1.797693134862315D+308 sampai -4.940656458412465D-324.

KONSTANTA

Konstanta adalah suatu data yang nilainya telah didefinisikan sebelum program di eksekusi dan nilainya tidak akan berubah selama program tersebut dieksekusi.

Contoh Konstanta String :

“Algoritma dan Pemrograman”
“Jl. Gatot Subroto No. 24”

Contoh Kostanta Bilangan :

10
234.7890


VARIABEL

Variabel adalah suatu nama data yang mewakili nilai data dimana nilai data tersebut dapat berubah pada saat program dieksekusi. Seperti halnya konstanta, variabel juga mempunyai tipe data string dan data numeric (berupa integer, riil presisi tunggal dan ganda).

Aturan penulisan karakter
• Selalu harus diawali dengan abjad, huruf berikutnya harus abjad atau angka.
• Tidak boleh berupa kata kunci (reserved word) basic, seperti Sin, Cos, Log, dll.
• Maksimal 40 karakter
• Tidak boleh ada special karakter termasuk spasi, kecuali %, !, # atau $ itupun diakhiri nama variabel yang menunjukkan tipe data

Notasi yang digunakan untuk membedakan tipe variabel yang ditulis diakhiri nama variabel.

Notasi Tipe Variabel

% Numerik Integer
! Numerik riil presisi tunggal
# Numerik Riil presisi ganda
$ String / Untai

Contoh :

Putar % Numerik Integer
Gaji Numerik presisi tunggal (default)
Pendapatan# Numerik presisi ganda
Judul$

Selain menggunakan notasi %, !, # dan $, bahasa Basic menyediakan perintah untuk mendeklarasikan variabel tanpa harus menggunakan notasi diatas dengan sebelumya variabel tersebut dipesan sesuai dengan tipe data yang diinginkan.

Contoh :
Dim Putar As integer
Dim Gaji As Single
Dim Pendapatan As Double
Dim Judul As String


OPERATOR

Operator merupakan suatu notasi yang akan digunakan untuk melakukan operasi aritmatik, operasi relasi dan operasi logika.

PENGENALAN DASAR ALGORITMA



PENDAHULUAN

Komputer sudah terlanjur dijuluki sebagai mesin yang pintar dapat melakukan apa saja yang diperitahkan oleh manusia, dapat menerima siaran dari TV, FM, Internet sehingga kita tidak ketinggalan informasi melalui media elektronik.

Anggapan diatas tidak selalu benar, computer memang sebagai alat Bantu manusia dalam menyelesaikan semua permasalahan yang dihadapi manusia, yang menjadi permasalahannya adalah computer tidak dapat langsung melaksanakan dan menyelesaikan permasalahan yang diserahkan untuk dikerjakan. Orang harus merumuskan langkah-langkah penyelesaian masalah dalam urutan suatu instruksi yang dapat dimengerti oleh computer, yang nantinya urutan intruksi tersebut akan dikerjakan oleh computer secara cepat dan dapat diulang-ulang tanpa mengenal lelah dan bosan.

Kumpulan dari intruksi – intruksi tersebut ditulis dalam suatu bahasa computer tertentu yang dikenal oleh computer disebut dengan PROGRAM.

Agar program tersebut dapat dimengerti oleh computer maka program tersebut harus ditulis dengan bahasa computer yang hanya dimengerti oleh computer.

Sampai saat ini bahasa computer yang dikenal banyak sekali jumlahnya, seiring dengan perkembangan dan kemajuan teknologi, bahasa computer dapat digolongkan menjadi bahasa computer, yaitu :

1. Bahasa tingkat rendah (low Level Language), merupakan bahasa pemrograman yang sulit dimengerti oleh manusia karena ditulis dalam bahasa mesin.

2. Bahasa tingkat tinggi (high Level Language), merupakan bahasa pemrograman yang mudah dimengerti oleh manusia, karena perintah yang digunakan menggunakan bahasa komunikasi manusia seperti diambil dari kata-kata dalam bahasa inggris.

Dengan berkembangnya bahasa terstruktur, orang tidak lagi memecahkan masalah langsung menulis programnya. Orang sudah mulai berpikir bagaimana caranya suatu permasalahan dapat diselesaikan untuk dibuatkan programnya dengan menekankan pada rancangan yang mewakili masalah tersebut.

Penyajian rancangan tersebut merupakan pola pikir dari program yang akan ditulis pada computer yang berisi notasi – notasi deskriptif dan urutan rancangan tersebut merupakan alur proses dari permasalahan yang akan dibuat programnya.

Urutan langkah – langkah proses yang ditulis secara sistematika untuk menyelesaikan masalah disebut dengan ALGORITMA.


Notasi algoritma bukan merupakan suatu notasi bahasa pemrograman tetapi suatu notasi yang ditulis dalam bahasa manusia kemudian diterjemahkan algoritma tersebut dalam salah satu bahasa pemrograman yang dipilh.


APA ITU ALGORIMA?

Kata algoritma didalam kamus Webster sampai akhir tahun 1957 tidak ditemukan kata algoritma, orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka Arab.

Algorism berasal dari nama penulis buku arab yang terkenal, yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi (Al-Khuwarizmi dibaca orang barat menjadi Algorism). Al-Khuwarizmi menulis buku berjudul Kitab Al Jabar Wal-Muqabala, yang artinya Buku pemugaran dan pengurangan dengan kata lain disebut Aljabar (Algebra).

Perubahan dari kata algorism menjadi kata algorithm muncul karena algorism sering dikelirukan dengan aritmatic, sehingga aliran “sm” berubah menjasi “thm”, maka lambat laun kata algoritma dipakai sebagai dasar untuk metode perhitungan (komputasi) secara umum dan dalam bahasa Indonesia Algorithma diserap menjadi Algoritma.

Jadi algoritma adalah kumpulan dari urutan langkah – langkah logis penyelesaian yang disusun secara sistematis.

Dalam kamus Bahasa Indonesia terbitan Balai Pustaka 1988, kata algoritma diartikan sebagai berikut :

Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah.

Kata Logis merupakan kata kunci yang berarti langkah – langkah yang ditulis harus logis, yaitu mempunyai nilai kebenaran yang data ditentukan benar atau salah.

Contoh : TUKAR ISI GELAS

Diketahui dua buah gelas, masing-masing diberi nama gelas A dan gelas B, gelas A berisi air kopi dan gelas B berisi air teh. Kita ingin menukarkan kedua isi gelas tersebut sehingga gelas A berisi air teh dan gelas B berisi air kopi.


NOTASI PADA ALGORITMA

Penulisan notasi pada Algoritma independent dari spesifikasi pemrograman dan computer yang mengaksesnya. Notasi – notasi algoritma akan diterjemahkan oleh programmer ke salah satu bahasa pemrograman computer. Jadi notasi pada algoritma tidak terikat pada salah satu bahasa pemrograman, setiap orang bebas membuat notasi algoritma tetapi tetap mempunyai dasar – dasar persamaan, karena notasi – notasi yang ditulis pada algoritma dan akan dijelaskan ke dalam bahasa pemrograman.

Contoh :

Tulis A dan B

Notasi Algoritma sebagai berikut : Print A,B

Aturan penulisan harus seuai dengan aturan yang berlaku pada salah satu bahasa pemrograman apabila kita akan melakukan trnslasi dari algoritma ke salah satu bahasa pemrograman.

Notasi “Print”
• dalam Bahasa Basic tetap Print Print A,B/Print A;B
• dalam Bahasa Pascal Write dan Writeln Writeln (A,B);
• dalam Bahasa C Printf Printf (“%d %d”, A,B);

Dari contoh diatas setiap bahasa akan mempunyai aturan tersendiri dalam menggunakan perintah. Pada bahasa Pascal dan C setiap akhir perintah harus diakhiri dengan ;(titik koma), pada bahasa C menggunakan tanda %d untuk mencetak nilai A dan B, ini menunjukkan bahwa tipe data untuk A dan B berupa bilangan Bulat.

Contoh : Notasi untuk mengisikan suatu nilai
terhadap variabel
Isikan nilai A ke dalam B

Ditulis dalam bentuk algoritma menjadi :
B ← 10

Notasi “←” berarti mengisikan nilai 10 ke variabel B, atau dengan kata lain variabel B diisi dengan nilai 10.

Notasi “←” diterjemahkan dalam bahasa Basic, C dan Fortran adalah “=”, pada bahasa Pascal “:=’.

• Dalam bahasa Pascal B:=10;
• Dalam bahasa C B=10;
• Dalam bahasa Basic B=10

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites