Post on 11-Dec-2015
description
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