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 : () ^,Ssqr *, / +,Mod Pembanding : = <> > >= < <= = tanda kurung = pangkat,akar = kali ,bagi = tambah,kurang = sisa bagi = 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 = X 2 + Y 2 3. a =
− b 2ab − 4ac 2a

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 Terminator Garis Alir(Flow line) Preparation Proses Fungsi Permulaan/akhir program Arah aliran program Proses inisialisasi pemberian harga awal atau

Proses penghitungan atau proses pengolahan data data

Input/Output Proses input/output data parameter,informasi Predefined process(Sub program decision)

Permulaan sub program/proses menjalankan sub program

Perbandingan,pernyataan,penyeDecision leksian data yang memberikan pilihan untuk langkah selanjutnya Penghubung bagian-bagian On Page flowchart yang berada pada satu Conector halaman Penghubung bagian-bagian Off Page flowchart yagn berada pada Conector halaman yang berbeda

Contoh:

Flowchart untuk menjumlahkan dua buah bilangan Start Bil.2 .1.tinggi. Flowchart untuk mencari luas segitiga Start Alas.1 Input Bil.1.2.Bil.lua s Input alas Input tinggi Luas=a*t/2 Print luas Stop 2.Hasil Input Bil.

Sisa Input Bil. Bil mod 2 Sisa= 0 Tidak Print ganjil Ya Print genap Stop DECISION/KONDISI .Hasil=Bil.1+Bil.2 Print Hasil Stop 3. Flochart untuk menentukan bilangan ganjil dan genap Start Bil.

Kondisi tunggal : Proses Ya Syara t Tidak Aksi 2 Aksi 1 i Kondisi majemuk : Proses Syarat 1? Tidak Syarat 2? Tidak Aksi Ya Aksi 1 Ya Aksi 2 i .

Ketentuan proses : Nilai Huruf(NH) Nilai Angka(NA) A 85-100 B 70-84 C 60-69 D 50-59 E 0-49 Start N.matakuliah(MK).MK.nilai angka(NA)(0-100).NH Input N.NA.Contoh : Flowchart untuk mencari nilai huruf dengan ketentuan sebagai berikut: data yng diinputkan nama(N).MK.NA NA>=85 dan NA<=100 NH=A NA>=70 dan NA<=84 NH=B 1 2 .

1 2 NA>=60 dan NA<=69 NH=C NA>=0 dan NA<=49 NH=D NH=E i Print NH Stop .

Start I.Pengulangan pada flowchart dapat dibentuk menggungkan:  Decision/Kondisi IF  For Next  While When  Do While Loop  DECISON Contoh : Flowchart untuk menampilkan bilangan ganjil dari 1-10 menggunakan konsep perulangan.PENGULANGAN/LOOPING Pengulangan merupakan suatu proses yang dilakukan berulang kali.Sisa I=0 I = I+1 Ya I > 10 Tidak Sisa =I mod 2 Stop Ya Sisa = 0 Tidak Print I .

 FOR NEXT Perintah For Next merupakan bentuk perulangan terstrukttur .Banyaknya perulangan tergantung dari variabel contohnya. For Next dalam bentuk Flowchart: For i = awal To akhir.Nilai Pernyataan i i awal akhir nilai pernyataan = merupakan variabel = merupakan nilai awal atau batas bawah untuk nilai i = merupakan nilai akhir atau batas akhir untuk nilai i = berfungsi untuk menambah/menaikkan nilai i setiap proses perulangan = merupakan kumpulan perintah yang akan dikerjakan secara berulang Contoh : 1. Flowchart untuk menampilkan bilangan 1 s/d 10 beserta jumlahnya Start I.i .Jumlah Jumlah=0 For i=1To10.

...000 Petramax 7..000 14. . . 70.000 ....600 .000 . 43..000 Solar 4.Petramax Rp 7000/liter..Hitung sampai 10 liter! Hasil: Liter 1 2 . Solar Rp 4300/liter... 10 Bensin 4..000 Flowchartnya seperti berikut di bawah. .Jumlah=jumlah+i Print i i Print jumlah Stop 2.300 8. Flowchart untuk menghitung harga BBM Bensin Rp 4500/liter. ..... .500 9. 45.

HB.300 HP = i * 7.500 HS = i * 4.000 Print ” ” i ” ” HB ” ”HS ” ”HP ” ” i Print ” ” Stop .1 HB = i * 4.HS.HP Print ” ” Print” ”Liter” ” Besin” ” Solar ” ”Petramax ” ” Print ” ” For i = 1To10.Start I.

Hasil For J = 1 to 10 For K = 1 To 5 Hasil = J * K Print J ”*” K ”=” Hasil K Print J . tidak boleh saling berpotongan Contoh salah : For i = 1 To 10 For j = 1 To 10 Print i. Syarat :1 . Harus gunakan variabel yang berbeda 2 .FOR NEXT BERSARANG Di dalam sebuah perintah For Next dapat memungkinkan adanya perintah For Next.j Next i Next j Contoh benar : For i = 1 To 10 For j = 1 To 10 Print i Next j Next i Contoh : 1.Keadaan ini disebut For Next Bersarang (Nesteed Loop).K. Flowchart untuk perkalian 1 s/d 10 dengan pengali 1 s/d 5 Start J.

2.  WHILE WHEN Perintah While When berfungsi sama seperti For Next yaitu melakukan perulangan. 1 1 1 1 1 2 2 2 2 3 3 3 4 4 5 For i = 1 To 5 For j = 1 To i Print j Next j Print(untuk pindah baris) Print i For i = 1 To 5 For j = 1 To 6-1 Print j Next j Print(untuk pindah baris) Next i b. Flowchart untuk menampilkan a.Sedangkan While When melakukan proses perulangan tidak pasti tergantung dari kondisi atau syarat yang dibuat. When Bentuk Flowchart While When: While syarat pernyataan When . Bentuk Umum: Keterangan: While syarat Syarat merupakan kunci banyaknya perulangan (pernyataan) pernyataan/merupakan sekumpulan perintah.Perbedaannya adalah For Next melakukan proses perulangan secara pasti jumlahnya. 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 a. b.

LOOP Perintah Do. Contoh : Mencetak bilangan 1 s/d 5 For Next For i = 1 To 5 Jumlah=jmlh+i Print i Next i Print jumlah While When i=0 While i<5 i-i + 1 Jumlah=jmlh+1 Print i When Print jumlah Do While Loop i=0 Do While i<5 i=i+1 Jumlah=jmlh+1 Print i Loop Print jumlah Do Loop Until i=0 Do i=i+1 Jumlah=jumlah+1 Print i Loop Until i=5 Print jumlah Do Until Loop 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”.Loop sama seperti While When akan melakukan proses perulangan dengan jumlah perulangan yang tidak pasti....i Input bilangan Jumlah = jumlah + bil Loop until bil = 0 Print jumlah . DO.

Flowchartnya : Start i . jumlah i=0 bil = 0 Do i=i+1 Print ”input bil ke”i Input bil Jumlah = jumlah + bil Loop until bil = 0 Print jumlah Stop . bil .

Contoh 2 : Program dengan tampilan sbb: Program menghitung waktu Jarak yang akan di tempuh Kecepatan Lama perjalanan Masih Ada Waktu (y/t) Programnya : : (input) : (input) : (proses) : (input) 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. 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 : Start Dim A(5) For i = 1 To5 Input ”Nilai A” A(i) i Stop .matriks.tapi sitilah ini maksudnya untuk melakukan pendefenisian variabel yang dapat diisi lebih dari 1 nilai tergantung kebutuhan.

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= B (2.2) 2    5  3  4  Dim A(2.Contoh soal (1) A=  3    2 1   Dim A (3) B=  4    5  3   Dim B(3) C=A+B C=  3 + 4    2 + 5  1+ 3    =  7    7  4   Dim C (3) Programnya : Dim A(3).2) B= 3    6  5  4  Dim .

2) . B(2.2) Programnya : Dim A(2.j Input A(i.C=A+B C= 3 2 +   + 5 6  3+5  5  = 1   1 4 + 4  8  8  Dim C (2.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.2) .j) Print C(i.j) + B(i. C(2.2) Cls For i = 1 To 2 For j = 1 To 2 Print ”Input Nilai A yang ke”i. .j) Next j Next i For i = 1 To 2 For j = 1 To 2 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.j) = A(i.

1 * B1.2) Cls For i = 1 To 2 For j = 1 To 3 Print ”Input matrik A yang ke”i.1 A  1.2   C= 5 8  7 4  A1.2 * B 2.1  101   82   C(2.1 +A2.2 * B 2.1 * B1.2  A  A1.Contoh : A = 3    6  8 4 5  A=(2.3 * B3. C(2.j) Next j Next i For i = 1 To 3 For j = 1 To 2 Print ”Input matrik B yang ke”i.2   A2.2 + A1.3 * B3. B(3.3) .1 +A2.3) 7  B= 1   5   3  3  9 4  B1.1 * B1.3  B  B3.1  A2.1 +A1.k) * B(k.1 A2.j Input B(i.2) C = A*B C= A  1.j Input A(i.2    3.2 * B 2.2 A2.3 * B3.1 B 2.1 +A1.j) = (i.2) Programnya : Dim A(2.3 * B3.2 B  1.2 + A1.j) + A(i.2 * B 2.1 A1.3    B  * B  2.2 + A2.2  B=(3.2) .1 * B1.2   C = A1.j) Next k Next j Next i For i = 1 to 2 For j = 1 To 2 Print C(i.j) .j) Next j Next i For i = 1 To 2 For j = 1 to 2 For k = 1 to 3 C(i.2 + A2.

Descending yaitu : proses pengurutan data dari yang besar ke yang kecil Data yang disortir dapat berupa data numerik (angka) dan karakter (huruf). Input A(i) Next i Print ”Data sebelum diurutkan :” For i = 1 To N Print A(i).N For i = 1 To N Print ”Masukkan data yang ke”. Contoh : Program pengurutan Ascending : Proses pengurutan data Dim A(100) Cls Input ”banyak data(max 100):”.Next j Next i SORTIR (MENGURUT DATA) Secara garis besar proses pengurutan (sortir) data dibagi dalam dua kategori: 1. Next i ”Proses pengurutan(sortir)” For i = 1 To N-1 For j = 1 To N-1 If A(j) >A(j+1) . Ascending yaitu : proses pengurutan data dari yang kecil ke yang besar 2.i.

.Untuk mengurutkan data jenis karakter (angka) gunakan tanda ”string ($)” setelah huruf A dan kata Bantu. Next i Untuk mengurutkan data numerik dari angka yang lebih kecil ke angka yang lebih besar gunakan tanda ”>”.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).dari angka yang lebih besar ke angka yang lebih kecil gunakan tanda ”<”.

Sign up to vote on this title
UsefulNot useful