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:

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

1+Bil.2 Print Hasil Stop 3. Bil mod 2 Sisa= 0 Tidak Print ganjil Ya Print genap Stop DECISION/KONDISI . Flochart untuk menentukan bilangan ganjil dan genap Start Bil.Hasil=Bil.Sisa Input 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 .

NA. 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.Contoh : Flowchart untuk mencari nilai huruf dengan ketentuan sebagai berikut: data yng diinputkan nama(N).MK.MK.NA NA>=85 dan NA<=100 NH=A NA>=70 dan NA<=84 NH=B 1 2 .NH Input N.nilai angka(NA)(0-100).matakuliah(MK).

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

Sisa I=0 I = I+1 Ya I > 10 Tidak Sisa =I mod 2 Stop Ya Sisa = 0 Tidak Print 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. Start I.

Banyaknya perulangan tergantung dari variabel contohnya.i .Jumlah Jumlah=0 For i=1To10. For Next dalam bentuk Flowchart: For i = awal To akhir. Flowchart untuk menampilkan bilangan 1 s/d 10 beserta jumlahnya Start I. FOR NEXT Perintah For Next merupakan bentuk perulangan terstrukttur .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.

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

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

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

Bentuk Umum: Keterangan: While syarat Syarat merupakan kunci banyaknya perulangan (pernyataan) pernyataan/merupakan sekumpulan perintah. Flowchart untuk menampilkan a. When Bentuk Flowchart While When: While syarat pernyataan When .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. 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 a. b.  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.2.

....i Input bilangan Jumlah = jumlah + bil Loop until bil = 0 Print jumlah ....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”. DO.Loop sama seperti While When akan melakukan proses perulangan dengan jumlah perulangan yang tidak pasti.

bil . 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 .Flowchartnya : Start i .

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.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 : Start Dim A(5) For i = 1 To5 Input ”Nilai A” A(i) i Stop .

2) B= 3    6  5  4  Dim .B(3).2) 2    5  3  4  Dim A(2.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.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).

B(2.j) Next j Next i For i = 1 To 2 For j = 1 To 2 C(i.j) Print C(i.2) .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) = A(i.2) Programnya : Dim A(2.j Input B(i.2) .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) Next j Next i PERKALIAN MATRIKS Operasi perkalian matriks hanya bisa dihasilkan bila jumlah kolom matriks pertama sama dengan jumlah baris matriks ke dua.C=A+B C= 3 2 +   + 5 6  3+5  5  = 1   1 4 + 4  8  8  Dim C (2.

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

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) .N For i = 1 To N Print ”Masukkan data yang ke”.i. Descending yaitu : proses pengurutan data dari yang besar ke yang kecil Data yang disortir dapat berupa data numerik (angka) dan karakter (huruf). Ascending yaitu : proses pengurutan data dari yang kecil ke yang besar 2. Input A(i) Next i Print ”Data sebelum diurutkan :” For i = 1 To N Print A(i). Contoh : Program pengurutan Ascending : Proses pengurutan data Dim A(100) Cls Input ”banyak data(max 100):”.

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.

Sign up to vote on this title
UsefulNot useful