You are on page 1of 22

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. Flowchart untuk mencari luas segitiga Start

Alas,tinggi,lua s Input alas Input tinggi

Luas=a*t/2

Print luas

Stop

2. Flowchart untuk menjumlahkan dua buah bilangan Start

Bil.1,Bil.2,Hasil

Input Bil.1 Input Bil.2

Hasil=Bil.1+Bil.2

Print Hasil

Stop 3. Flochart untuk menentukan bilangan ganjil dan genap Start

Bil,Sisa

Input Bil.

Bil mod 2

Sisa= 0 Tidak Print ganjil

Ya

Print genap

Stop

DECISION/KONDISI

Kondisi tunggal : Proses Ya

Syara t Tidak Aksi 2

Aksi 1

Kondisi majemuk : Proses

Syarat 1? Tidak Syarat 2? Tidak Aksi

Ya

Aksi 1

Ya

Aksi 2

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 85-100 B 70-84 C 60-69 D 50-59 E 0-49

Start

N,MK,NA,NH

Input N,MK,NA

NA>=85 dan NA<=100

NH=A

NA>=70 dan NA<=84

NH=B

NA>=60 dan NA<=69

NH=C

NA>=0 dan NA<=49

NH=D

NH=E

Print NH

Stop

PENGULANGAN/LOOPING Pengulangan merupakan suatu proses yang dilakukan berulang kali.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. Start

I,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,Jumlah

Jumlah=0

For i=1To10,i

Jumlah=jumlah+i

Print i

Print jumlah

Stop

2. Flowchart untuk menghitung harga BBM Bensin Rp 4500/liter, Solar Rp 4300/liter,Petramax Rp 7000/liter.Hitung sampai 10 liter! Hasil: Liter 1 2 ... ... 10 Bensin 4.500 9.000 ... ... 45.000 Solar 4.300 8.600 ... ... 43.000 Petramax 7.000 14.000 ... ... 70.000

Flowchartnya seperti berikut di bawah.

Start

I,HB,HS,HP

Print Print Liter Besin Solar Petramax Print

For i = 1To10,1

HB = i * 4.500 HS = i * 4.300 HP = i * 7.000

Print i HB HS HP

Print

Stop

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 : For i = 1 To 10 For j = 1 To 10 Print i,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. Flowchart untuk perkalian 1 s/d 10 dengan pengali 1 s/d 5 Start

J,K,Hasil

For J = 1 to 10

For K = 1 To 5

Hasil = J * K

Print J * K = Hasil

Print

2. Flowchart untuk menampilkan a. 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 a.

b. 1 1 1 1 1

2 2 2 2

3 3 3

4 4

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.

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: While syarat

pernyataan

When

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 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,i Input bilangan Jumlah = jumlah + bil Loop until bil = 0 Print jumlah

Flowchartnya : Start

i , bil , jumlah

i=0 bil = 0

Do

i=i+1

Print input bil kei Input bil

Jumlah = jumlah + bil

Loop until bil = 0

Print jumlah

Stop

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 tempuhs Input kecepatanv t = s/v Print lama perjalanant 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)

Stop

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(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,2)

B=

3 6

5 4

Dim

C=A+B

C=

3 2 + + 5 6

3+5 5 = 1 1 4 + 4

8 8

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 kei,j Input A(i,j) Next j Next i For i = 1 To 2 For j = 1 To 2 Print Input Nilai B yang kei,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 =

3 6

8 4

5 A=(2,3) 7

B=

1 5 3

3 9 4 B1,2

B=(3,2)

C = A*B C=
A 1,1 A 1,2 A

A1,2 A2,2

B 1,1 A1,3 B * B 2,1 B 2,2 3,1 A2,3 B B3,2

A1,1 * B1,2 + A1,2 * B 2,2 + A1,3 * B3,2 A2,1 * B1,2 + A2,2 * B 2,2 + A2,3 * B3,2
C=
5 8 7 4

A1,1 * B1,1 +A1,2 * B 2,1 +A1,3 * B3,1 A2,1 * B1,1 +A2,2 * B 2,1 +A2,3 * B3,1

101 82

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 kei,j Input A(i,j) Next j Next i For i = 1 To 3 For j = 1 To 2 Print Input matrik B yang kei,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.

You might also like