Minggu, 16 Oktober 2011

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 :


 




Aksi 1
 
                                                              Ya













 



                                            Tidak


Aksi 2
 
 

                                                         


 






                                                   
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.


 
















Flowchart: Terminator: StopYa








 



                                               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 :
  1. 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:
Flowchart: Preparation: While syarat                                   


 












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 :
Flowchart: Terminator: Start                                   



 











































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 :
Flowchart: Terminator: Start           



 





















                                                                                              
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:
  1. Ascending yaitu   :      proses pengurutan data dari yang kecil ke yang besar
  2. 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