bahasa komputer

38
ALGORITMA DAN PEMROGRAMAN

Upload: gema-putra-pratama

Post on 11-Dec-2015

17 views

Category:

Documents


2 download

DESCRIPTION

Visual BasivCivil EngeneeringComputer

TRANSCRIPT

ALGORITMA DAN PEMROGRAMAN

Pemrograman

Logika

Algoritma

Pemrograman

Logika

Algoritma

Apakah anda dapat menghitung harga akar – akar persamaan kuadrat Ax2 + Bx + C = 0

Ya saya dapat menghitung harga akar – akar persamaan kuadrat Ax2 + Bx + C = 0 karena untuk menghitung harga kedua akar tersebut dapat dilakukan dengan menggunakan dua rumus :

A

ACBBX

2

42 2

1

A

ACBBX

2

42 2

2

Pemrograman

Logika

Algoritma

Jika saya ingin menghitung harga akar – akar persamaan kuadratAx2 + Bx + C = 0Maka saya harus mengetahui harga A, B dan C

Pemrograman

Logika

Algoritma

Jika harga A, B dan C sudah diketahui maka saya bisa menghitung harga akar-akar X1 dan X2 dengan menggunakan kalkulator. Dengan memasukkan harga A, B dan C ke dalam kedua rumus :

A

ACBBX

2

42 2

1

A

ACBBX

2

42 2

2

Pemrograman

Logika

Algoritma

Apakah semua harga A, B dan C yang sudah diketahui dapat langsung dimasukkan ke dalam kalkulator untuk mendapatkan kedua akar X1 dan X2.

Pemrograman

Logika

Algoritma

Ternyata ada harga-harga A, B dan C jika langsung dimasukkan ke dalam kalkulator, kalkulator memberikan jawaban : “Math Error”Yaitu jika • hasil perhitungan B2 – 4AC < 0 • ATAU• jika harga A = 0

Pemrograman

Logika

Algoritma

Lalu bagaimana sebetulnya cara menghitung harga akar2 persamaan Ax2 + Bx + C = 0

Pemrograman

Logika

Algoritma

Cara menghitung harga akar2 persamaan Ax2 + Bx + C = 01. Tentukan/berikan harga A, B dan C2. Hitung harga D = B2 – 4AC3. Jika harga D ≥ 0 maka harga X1 dan X2 dapat dihitung4. Jika persayaratan pada langkah ke 3 tidak terpenuhi

(harga D < 0) maka harga X1 dan X2 tidak bisa dihitung5. Jika harga A < 0 atau A > 0 maka harga X1 dan X2

dapat dihitung6. Jika persyaratan pada langkah ke 5 tidak memenuhi (A

= 0) maka harga X1 dan X2 tidak bisa dihitung

Pemrograman

Logika

Algoritma

Dari urutan-urutan langkah-langkah di atas mengapa harga X1 dan X2 dihitung masing-masing sebanyak dua kali yaitu setelah hasil perhitungan D menghasilkan harga ≥ 0 DAN setelah menguji harga A dimana jika harga A > 0 atau A<0. Mengapa jadi semakain rumit ? Bagaimana sebenarnya urutan yang terbaik untuk menyelesaikan rumus ABC ?

Pemrograman

Logika

Algoritma

Cara menghitung harga akar2 persamaan Ax2 + Bx + C = 0 yang terbaik :1. Tentukan/berikan harga A, B dan C2. Hitung harga D = B2 – 4AC3. Jika (harga D < 0) ATAU (harga A = 0) maka harga X1

dan X2 tidak bisa dihitung4. Jika persyaratan pada langkah ke 3 tidak terpenuhi (D ≥

0) DAN (A>0 ATAU A<0) harga X1 dan X2 dapat dihitung

Pemrograman

Logika

Algoritma

Urutan-urutan menghitung harga akar2 persamaan Ax2 + Bx + C = 0 yang disebutkan di atas apakah sudah betul-betul cara yang terbaik ?Apakah tidak ada cara lain yang lebih baik. Karena harga D tidak perlu dihitung jika sudah tahu bahwa harga A = 0. Jika harga A = 0 maka langkah perhitungan D merupakan langkah yang tidak benar karena harga akar tidak perlu dihitung.

Pemrograman

Logika

Algoritma

Cara menghitung harga akar2 persamaan Ax2 + Bx + C = 0 yang lebih baik :1. Tentukan/berikan harga A, B dan C2. Jika harga A = 0 harga X1 dan X2 tidak perlu dihitung3. Jika persyaratan pada langkah ke 2 tidak terpenuhi

maka hitung harga D = B2 – 4AC4. Jika harga D < 0 maka harga X1 dan X2 tidak perlu

dihitung5. Jika persyaratan pada langkah ke 4 tidak terpenuhi (D ≥

0) maka harga X1 dan X2 dapat dihitung

Pemrograman

Logika

Algoritma

Urutan-urutan menghitung harga akar2 persamaan Ax2 + Bx + C = 0 yang disebutkan di atas sudah baik, tetapi kata-kata yang panjang dan adanya kata JIKA yang dituliskan berkali-kali kadang-kadang dapat memberikan gambaran yang bias atau membingungkan.Apakah ada cara lain yang lebih mudah untuk menjelaskan urutan2 langkah untuk menyelesaikan persoalan di atas ?

Pemrograman

Logika

Algoritma

Start

INPUT A, B, C

D = B2 – 4 A C

D<0 X1 = (-B + D^0.5)/2AX2 = (-B - D^0.5)/2A

Tulis X1, X2

Tulis X1 dan X2 Imaginer

Stop

Y T

A = 0Y

T

Tulis X1 dan X2 Tidak Dihitung

Pemrograman

Logika

Algoritma

Jika semua logika dan algoritma penyelesaian akar-akar

persamaan kuadrat Ax2 + Bx + C = 0

sudah selesai, bagaimana cara menuliskan perintah kedalam

Bahasa Pemrograman (VB)

Private Sub cmdhitung_Click()A = Val(TextA.Text)B = Val(TextB.Text)C = Val(TextC.Text)If A = 0 Then Textket.Text = "Harga A tidak boleh = 0, X1 dan X2 tidak dihitung"Else D = B * B - 4 * A * C If D < 0 Then Textket.Text = "Harga D < 0, X1 dan X2 imaginer" Else X1 = (-B + (D ^ 0.5)) / (2 * A) X2 = (-B - (D ^ 0.5)) / (2 * A) TextX1.Text = X1 TextX2.Text = X2 Textket.Text = "Harga Akar-Akar dapat dihitung" End IfEnd IfEnd Sub

Start

INPUT A, B, C

D = B2 – 4 A C

D<0 X1 = (-B + D^0.5)/2AX2 = (-B - D^0.5)/2A

Tulis X1, X2

Tulis X1 dan X2 Imaginer

Stop

Y T

A = 0Y

T

Tulis X1 dan X2 Tidak Dihitung

Pemrograman

Logika

Algoritma

Program Perhitungan Harga Akar Persamaan Ax2 + Bx + C = 0

Private Sub cmdhitung_Click()A = Val(TextA.Text)B = Val(TextB.Text)C = Val(TextC.Text)If A = 0 Then Textket.Text = "Harga A tidak boleh = 0, X1 dan X2 tidak dihitung"Else D = B * B - 4 * A * C If D < 0 Then Textket.Text = "Harga D < 0, X1 dan X2 imaginer" Else X1 = (-B + (D ^ 0.5)) / (2 * A) X2 = (-B - (D ^ 0.5)) / (2 * A) TextX1.Text = X1 TextX2.Text = X2 Textket.Text = "Harga Akar-Akar dapat dihitung" End IfEnd IfEnd Sub

Apa Itu Algoritma?Kata Algoritma diambil dari nama ilmuwan muslim Abu Ja’far Muhammad bin Musa Al-Khwarizmi (780-846 M) yang banyak

menghasilkan karya-karya ilmiah bidang matematika.

Algoritma adalah urutan langkah-langkah logis penyelesaian suatu masalah yang disusun secara sistematis. Langkah-langkah tersebut harus logis yang berarti nilai kebenaran setiap langkah harus dapat ditentukan. Langkah-langkah yang tidak benar dapat memberikan hasil yang salah atau yang tidak sesuai dengan yang diharapkan .

Algoritma merupakan jantung ilmu komputer yang berhubungan dengan pemrograman.

Ciri-ciri Algoritma yang baik

Tepat sasaran yaitu memenuhi spesifikasi pekerjaan dan bekerja sesuai tujuan

Fleksibel untuk dikembangkan lebih lanjut

Portabel untuk dikembangkan dan digunakan pada berbagai mesin

Bersih dari kesalahan sistem dan logika

Efektif yaitu setiap langkah harus dapat dikerjakan dengan sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal

Ciri-ciri Algoritma yang baik

Efisien dalam penggunaan lokasi memori dan cepat waktu pelaksanaannya

Didokumentasi dengan baik untuk pengoperasian, pemeliharaan dan pengembangan

Tidak bermakna ganda (ambiguous)

Harus berhenti atau dapat dihentikan setelah menjalankan atau mengerjakan sejumlah langkah

Cara Penulisan atau Pembuatan Algoritma

–Membuat uraian-uraian deskriptif

–Menggunakan bagan atau simbol-simbol tertentu seperti diagram alir (Flowchart)

–Menggunakan kata-kata yang mirip seperti bahasa pemrograman tertentu (Pseudo code).

Cara Penulisan atau Pembuatan Algoritma

– Membuat uraian-uraian deskriptif

Cara menghitung harga akar2 persamaan Ax2 + Bx + C = 0 yang lebih baik :1. Tentukan/berikan harga A, B dan C2. Jika harga A = 0 harga X1 dan X2 tidak perlu dihitung3. Jika persyaratan pada langkah ke 2 tidak terpenuhi

maka hitung harga D = B2 – 4AC4. Jika harga D < 0 maka harga X1 dan X2 tidak perlu

dihitung5. Jika persyaratan pada langkah ke 4 tidak terpenuhi (D ≥

0) maka harga X1 dan X2 dapat dihitung

Cara Penulisan atau Pembuatan Algoritma

– Menggunakan bagan atau simbol-simbol tertentu seperti diagram alir (Flowchart)

Start

INPUT A, B, C

D = B2 – 4 A C

D<0 X1 = (-B + D^0.5)/2AX2 = (-B - D^0.5)/2A

Tulis X1, X2

Tulis X1 dan X2 Imaginer

Stop

Y T

A = 0Y

T

Tulis X1 dan X2 Tidak Dihitung

Y

T

Y T

Cara Penulisan atau Pembuatan Algoritma

– Menggunakan kata-kata yang mirip seperti bahasa pemrograman tertentu (Pseudo code).

StartInput A,B,CIF A=0 Then Write “Akar Tidak Dihitung”Else D = B*B – 4*A*C IF D<0 Then Write “Harga Akar Imaginer” Else X1 = (-B+√(D))/(2*A) X2 = (-B- √(D))/(2*A) Write X1, X2 EndifEndifStop

Flowchart atau Bagan Alir

• Flowchart atau bagan alir adalah suatu skema yang menggambarkan urutan instruksi atau kegiatan dan hubungan antara satu kegiatan dengan kegiatan lainnya

• Flowchart menggunakan simbol-simbol yang menggambarkan atau mempunyai arti suatu proses tertentu.

Simbol-simbol umum yang digunakan pada penggambaran flowchart

Start/Stop

Input/Output

Proses

Decision

Inisialisasi /

Preparation

Off Page Connector

Terminal / awal / akhir kegiatan

Input / output data / informasi

Proses / kegiatan

Pengambilan keputusan

Persiapan atau pemberian harga awal

Konektor antar halaman

Simbol-simbol umum yang digunakan pada penggambaran flowchart

Subprogram / Function

Subprogram

Penghubung antar proses / arah alir proses

Konektor Satu Halaman

Kaidah dasar dalam Pemecahan Masalah

INPUT Proses OUPUT

Pada pembuatan flowchart tidak ada patokan yang baku, karena flowchart merupakan gambaran pemikiran seorang atau programmer dalam memecahkan suatu masalah. Untuk memecahkan satu masalah yang sama, setiap programmer memiliki cara-cara yang berbeda tetapi ada potensi atau kecenderungan yang mungkin dimiliki oleh beberapa programmer untuk menghasilkan flowchart yang hampir sama. Mereka menggunakan kaidah yang sama yaitu setiap pemecahan masalah selalu melalui 3 tahapan utama yaitu INPUT, PROSES dan OUTPUT

Kaidah Dasar Pembuatan

Program

START

Pemahaman Masalah

Perancangan Model

Pembuatan Program Awal

Pengujian Program

Program Memenuhi

Syarat?

Perbaikan Program

Produk Akhir

SELESAI

Y

T

A

A

Perancangan Flowchart

• Rancangan Format Tampilan• Rancangan Input• Rancangan Proses• Rancangan Output

Contoh 2 :Buatlah flowchart untuk menghitung reaksi perletakan dan momen pada balok (pada posisi beban terpusat) jika pada

balok bekerja 1 (satu) beban terpusat

P

a b

L

RA = P*b/L RB = P*a/LMP = RA * a

MP = RB * bRA = P*b/(a+b) RB = P*a/(a+b)

RA RB

Persyaratan yang diperlukan untuk menyelesaikan persoalan ini adalah harga P, a dan b harus positif. Jika salah satu diantara ketiga data tersebut tidak positif, maka proses

pemasukkan data harus diulang.

Langkah-langkah yang diperlukan untuk menyelesaikan persoalan ini :

1. Masukkan harga P, a dan b2. Jika P < 0 atau a<0 atau b <0 maka ulangi langkah 13. RA = P * b / (a+b)4. RB = P * a / (a+b)5. MP = Ra * a

START

Input P, a, b

P < 0

a < 0

A

A

RA= P*b/(a+b)RB= P*a/(a+b)

MP = RA * a

Tulis RA, RB, MP

STOP

Y

T

Y

T

Flowchart menghitung

reaksi perletakan dan momen pakibat beban terpusat

Private Sub cmdhitung_Click()P = Val(TextP.Text)A = Val(TextA.Text)B = Val(TextB.Text)If (P < 0) Then TextKet.Text = "Masukkan beban P tidak boleh negatif, ulangi masukkan data"ElseIf (A < 0) Then TextKet.Text = "Masukkan jarak A tidak boleh negatif, ulangi masukkan data"ElseIf (B < 0) Then TextKet.Text = "Masukkan jarak B tidak boleh negatif, ulangi masukkan data"Else RA = P * B / (A + B) RB = P * A / (A + B) MP = RA * A TextRA.Text = RA TextRB.Text = RB TextMP.Text = MP TextKet.Text = "Masukkan data benar, reaksi perletakan dan momen dapat dihitung"End IfEnd Sub

Pertanyaan :Buatlah flowchart untuk menghitung reaksi perletakan dan momen pada balok (pada posisi beban terpusat) jika pada

balok bekerja 3 (tiga) beban terpusat

P1

a2 b2

L

MP = Σ RA * aRA = Σ P*b/(a+b) RB = Σ P*a/(a+b)

RA RB

P2 P3

a1 b1

a3 b3

Pertanyaan :Buatlah flowchart untuk menghitung reaksi perletakan pada

balok (pada posisi beban terpusat) jika pada balok bekerja 10 (sepuluh) beban terpusat

P1

a2 b2

L

RA = Σ P*b/(a+b) RB = Σ P*a/(a+b)

RA RB

P2 P1o

a1 b1

a10 b10