LOGIKA DAN ALGORITMA
Logika dan Algoritma menjelaskan tentang konsep dasar serta paradigma dalam pemrograman implementasi data,penyusunan flowchart dan psude code serta problem solving.
KALIMAT ARITMATIKA
Operator : ( ) = tanda kurung
^,Ssqr = pangkat,akar
*, / = kali ,bagi
+,- = tambah,kurang
Mod = sisa bagi
Pembanding : = = sama dengan
< > = tidak sama dengan
> = lebih besar
>= = lebih besar sama dengan
< = lebih kecil
<= = lebih kecil sama dengan
Contoh : Rubah kalimat Aritmatika berikut ini ke dalam Aritmatka komputer!
1. a = 2y2 + 3x3
2. r =
3. a =
Jawab : 1. a = 2*Y^2 + 3*x^3
2. r = sqr(x^2 + y^2)
3. a = -b*sqr(2*a*b-4*a*c)/2*a
Problem solving adalah pemecahan masalah.Psude code adalah menjelaskan masalah dengan kata-kata.
Contoh psude code: menjumlahkan dua buah bilangan
Caranya : ambil bilangan pertama,ambil bilangan kedua kemudian jumlahkan
kedua bilangan tersebut lalu tuliskan hasilnya.
Program adalah : kata-kata,ekspresi,pernyataan atau kombinasi-kombinasinya yang disusun dan dirancang menjadi satu kesatuan yang berurutan sebagai langkah untuk menyelesaikan masalah yang diimplementasikan dengan menggunakan bahasa pemrograman sehingga dapat dieksekusi oleh komputer.
FLOWCHART
Flowchart adalah gambaran dalam bentuk diagram alir dari program-rogram dalam suatu program yang menyatakan arah alur program tersebut.
Berikut ini adalah beberapa simbol yang digunakan dalam menggambar suatu flowchart.:
Simbol | Nama | Fungsi |
| Terminator | Permulaan/akhir program |
| Garis Alir(Flow line) | Arah aliran program |
| Preparation | Proses inisialisasi atau pemberian harga awal |
| Proses | Proses penghitungan atau proses pengolahan data |
| Input/Output data | Proses input/output data parameter,informasi |
| Predefined process(Sub program decision) | Permulaan sub program/proses menjalankan sub program |
| Decision | Perbandingan,pernyataan,penye- leksian data yang memberikan pilihan untuk langkah selanjutnya |
| On Page Conector | Penghubung bagian-bagian flowchart yang berada pada satu halaman |
| Off Page Conector | Penghubung bagian-bagian flowchart yagn berada pada halaman yang berbeda |
Contoh:
1. Flowchart untuk mencari luas segitiga
2. Flowchart untuk menjumlahkan dua buah bilangan
3. Flochart untuk menentukan bilangan ganjil dan genap
Ya
Tidak
DECISION/KONDISI
Kondisi tunggal :
|
Tidak
|
Kondisi majemuk :
Ya
Tidak
Ya
Tidak
Contoh : Flowchart untuk mencari nilai huruf dengan ketentuan sebagai berikut: data yng diinputkan nama(N),matakuliah(MK),nilai angka(NA)(0-100). Ketentuan proses :
Nilai Huruf(NH) | Nilai Angka(NA) |
A B C D E | 85-100 70-84 60-69 50-59 0-49 |
PENGULANGAN/LOOPING
Pengulangan merupakan suatu proses yang dilakukan berulang kali.Pengulangan pada flowchart dapat dibentuk menggungkan:
v Decision/Kondisi IF
v For Next
v While When
v Do While Loop
v DECISON
Contoh : Flowchart untuk menampilkan bilangan ganjil dari 1-10 menggunakan konsep perulangan.
Ya
Tidak
Ya
Tidak
v FOR NEXT
Perintah For Next merupakan bentuk perulangan terstrukttur .Banyaknya perulangan tergantung dari variabel contohnya.
For Next dalam bentuk Flowchart:
i = merupakan variabel
awal = merupakan nilai awal atau batas bawah untuk nilai i
akhir = merupakan nilai akhir atau batas akhir untuk nilai i
nilai = berfungsi untuk menambah/menaikkan nilai i setiap proses perulangan
pernyataan = merupakan kumpulan perintah yang akan dikerjakan secara berulang
Contoh :
- Flowchart untuk menampilkan bilangan 1 s/d 10 beserta jumlahnya
2. Flowchart untuk menghitung harga BBM Bensin Rp 4500/liter, Solar Rp 4300/liter,Petramax Rp 7000/liter.Hitung sampai 10 liter!
Hasil:
Liter | Bensin | Solar | Petramax |
1 2 ... ... 10 | 4.500 9.000 ... ... 45.000 | 4.300 8.600 ... ... 43.000 | 7.000 14.000 ... ... 70.000 |
Flowchartnya seperti berikut di bawah.
FOR NEXT BERSARANG
Di dalam sebuah perintah For Next dapat memungkinkan adanya perintah For Next.Keadaan ini disebut For Next Bersarang (Nesteed Loop).
Syarat :1 . Harus gunakan variabel yang berbeda
2 . tidak boleh saling berpotongan
Contoh salah : Contoh benar :
For i = 1 To 10 For i = 1 To 10
For j = 1 To 10 For j = 1 To 10
Print i,j Print i
Next i Next j
Next j Next i
Contoh :
1. Flowchart untuk perkalian 1 s/d 10 dengan pengali 1 s/d 5
2. Flowchart untuk menampilkan
a. 1 b. 1 2 3 4 5
1 2 1 2 3 4
1 2 3 1 2 3
1 2 3 4 1 2
1 2 3 4 5 1
a. For i = 1 To 5
For j = 1 To i
Print j
Next j
Print(untuk pindah baris)
Print i
b. For i = 1 To 5
For j = 1 To 6-1
Print j
Next j
Print(untuk pindah baris)
Next i
v WHILE WHEN
Perintah While When berfungsi sama seperti For Next yaitu melakukan perulangan.Perbedaannya adalah For Next melakukan proses perulangan secara pasti jumlahnya.Sedangkan While When melakukan proses perulangan tidak pasti tergantung dari kondisi atau syarat yang dibuat.
Bentuk Umum: Keterangan:
While syarat Syarat merupakan kunci banyaknya perulangan
(pernyataan) pernyataan/merupakan sekumpulan perintah.
When
Bentuk Flowchart While When:
v DO......LOOP
Perintah Do...Loop sama seperti While When akan melakukan proses perulangan dengan jumlah perulangan yang tidak pasti.
Contoh : Mencetak bilangan 1 s/d 5
For Next | While When | Do While Loop |
For i = 1 To 5 Jumlah=jmlh+i Print i Next i Print jumlah | i=0 While i<5 i-i + 1 Jumlah=jmlh+1 Print i When Print jumlah | i=0 Do While i<5 i=i+1 Jumlah=jmlh+1 Print i Loop Print jumlah |
Do Loop Until | Do Until Loop |
i=0 Do i=i+1 Jumlah=jumlah+1 Print i Loop Until i=5 Print jumlah | i=0 Do While i=5 i=i+1 Jumlah=jumlah+i Print i Loop Print jumlah |
Contoh 1 : Flowchart/progaram untuk input bilangan dari keyboard dimana bilangan yang diinput terus-menerus sampai yang diinput bilangan 0.
Programnya : Bil = 0
i = 0
Do
i = i + 1
Print ”input bilangan ke”,i
Input bilangan
Jumlah = jumlah + bil
Loop until bil = 0
Print jumlah
Flowchartnya :
Contoh 2 : Program dengan tampilan sbb:
Program menghitung waktu
Jarak yang akan di tempuh : (input)
Kecepatan : (input)
Lama perjalanan : (proses)
Masih Ada Waktu (y/t) : (input)
Programnya :
Cls
Print ”Program Menghitung Waktu”
Print ” ”
s = 0
v = 0
t = 0
MAD $ ”y”
Do
Input ”jarak yang akan di tempuh”s
Input ”kecepatan”v
t = s/v
Print ”lama perjalanan”t
Print
Input ”Masih Ada Data (y/t)”=MAD $
Loop until MAD $ = ”t”
ARRAY
Array sering disebut juga dengan istilah variabel majemuk,matriks,tapi sitilah ini maksudnya untuk melakukan pendefenisian variabel yang dapat diisi lebih dari 1 nilai tergantung kebutuhan.
Cara penefenisian : Dim Variabel(jumlah data)
Dimention
Contoh : Dim A(5)
Artinya Variabel A dapat diisi nilai sebanyak 5
Contoh dalam program :
Dim A(5)
For i = 1To 5
Input ”Nilai A” A(i)
Next i
Contoh dalam Flowchart :
Contoh soal (1)
A = Dim A (3) B = Dim B(3)
C = A + B C = = Dim C (3)
Programnya : Dim A(3),B(3),C(3)
Cls
For i = 1 To 3
Print ”Input Nilai A yang ke” i
Input A(i)
Next i
For i = 1 To 3
Print ”Input Nilai B yang ke” i
Input B(i)
Next i
For i = 1 To 3
C(i) = A(i) + B(i)
Print i
Next i
Contoh soal (2)
A = Dim A(2,2) B = Dim B (2,2)
C = A + B C = = Dim C (2,2)
Programnya : Dim A(2,2) , B(2,2) , C(2,2)
Cls
For i = 1 To 2
For j = 1 To 2
Print ”Input Nilai A yang ke”i,j
Input A(i,j)
Next j
Next i
For i = 1 To 2
For j = 1 To 2
Print ”Input Nilai B yang ke”i,j
Input B(i,j)
Next j
Next i
For i = 1 To 2
For j = 1 To 2
C(i,j) = A(i,j) + B(i,j)
Print C(i,j)
Next j
Next i
PERKALIAN MATRIKS
Operasi perkalian matriks hanya bisa dihasilkan bila jumlah kolom matriks pertama sama dengan jumlah baris matriks ke dua.
Contoh : A = A=(2,3) B = B=(3,2)
C = A*B
C = A * B
C =
C = C(2,2)
Programnya : Dim A(2,3) , B(3,2) , C(2,2)
Cls
For i = 1 To 2
For j = 1 To 3
Print ”Input matrik A yang ke”i,j
Input A(i,j)
Next j
Next i
For i = 1 To 3
For j = 1 To 2
Print ”Input matrik B yang ke”i,j
Input B(i,j)
Next j
Next i
For i = 1 To 2
For j = 1 to 2
For k = 1 to 3
C(i,j) = (i,j) + A(i,k) * B(k,j)
Next k
Next j
Next i
For i = 1 to 2
For j = 1 To 2
Print C(i,j)
Next j
Next i
SORTIR (MENGURUT DATA)
Secara garis besar proses pengurutan (sortir) data dibagi dalam dua kategori:
- Ascending yaitu : proses pengurutan data dari yang kecil ke yang besar
- Descending yaitu : proses pengurutan data dari yang besar ke yang kecil
Data yang disortir dapat berupa data numerik (angka) dan karakter (huruf).
Contoh : Program pengurutan Ascending :
Proses pengurutan data
Dim A(100)
Cls
Input ”banyak data(max 100):”,N
For i = 1 To N
Print ”Masukkan data yang ke”;i;
Input A(i)
Next i
Print ”Data sebelum diurutkan :”
For i = 1 To N
Print A(i);
Next i
”Proses pengurutan(sortir)”
For i = 1 To N-1
For j = 1 To N-1
If A(j) >A(j+1)
Bantu = A(j)
A(J) = A(j+1)
A(j+1) = Bantu
End If
Next j
Next i
Print
Print ”Data setelah diurutkan:”
For i = 1 To N
Print A(i);
Next i
Untuk mengurutkan data numerik dari angka yang lebih kecil ke angka yang lebih besar gunakan tanda ”>”,dari angka yang lebih besar ke angka yang lebih kecil gunakan tanda ”<”.Untuk mengurutkan data jenis karakter (angka) gunakan tanda ”string ($)” setelah huruf A dan kata Bantu.
Tidak ada komentar:
Posting Komentar