Minggu, 05 November 2017

Algoritma dan Coding Program Persamaan Kuadrat (Python)



   Halo sobat teknoreviewudah lama nih saya nggak posting, terakhir kali seingat saya 2 tahun yang lalu, November 2015. Nah kali ini, saya mau nge-share artikel tentang Pemrograman, dengan Bahasa Python 2.7 & 3.0, bagaimana algoritma atau cara kerja program persamaan kuadrat, dan saya beri komentar penjelasan per-bagian.

   Seperti yang kita ketahui, sebelum membuat suatu program, alangkah baiknya kita menstrukturisasi bagaimana jalannya program, yaitu Algoritma program tersebut. That being said, kita mesti tahu bagaimana cara memecahkan masalah Persamaan Kuadrat.

   ALGORITMA

   Kita tahu bahwa bentuk umum dari persamaan kuadrat yaitu:

ax2 + bx + c = 0

   dengan a, b, dan c sebagai konstanta/angka.

   Sekarang kita ingin mendapatkan akar-akar (x1 dan x2) berdasarkan 3 konstanta tersebut, yang di-input oleh user pada saat runtime.

   Setelah user meng-input atau entry nilai-nilai a, b, dan c, kita harus mencari tahu apa jenis akar-akarnya.

   Jika D > 0: Akar real & beda
   Jika D = 0: Akar real & kembar
   Jika D < 0: Imajiner

   dengan D = b^2 - 4ac

   Untuk mendapatkan nilai x1 dan x2 dapat menggunakan rumus ABC/Al-Khawarizmi:

   

   dengan tanda plus minus berarti salah satu x ditambah, satu lagi dikurang.


   PROGRAM

   Berikut listing code program berdasarkan algoritma diatas:


1. Python 2.7

from __future__ import print_function
import sys
import os
import math

def main():
   # Menampilkan judul program
   print ("Akar-akar Persamaan Kuadrat")

   # Meminta user memasukkan a b c
   a = int(raw_input("Masukkan nilai a: "))
   b = int(raw_input("Masukkan nilai b: "))
   c = int(raw_input("Masukkan nilai c: "))

   # Hitung D
   D = (b*b) - (4*a*c)

   if D < 0:
      print ("akar-akar imajiner, exitting...")
      sys.exit(1) #exit program

   elif D == 0:
      x1 = (-b + math.sqrt(D)) / (2*a)
      x1 = x2

   else:
      x1 = (-b + math.sqrt(D)) / (2*a)
      x2 = (-b - math.sqrt(D)) / (2*a) 

   # Setelah nilai D dan akar-akar didapat, tampilkan hasil
   print ("\nx1 = %d" %x1)
   print ("x2 = %d" %x2)

if __name__ == "__main__":
   main()


2. Python 3.0

import sys
import os
import math

def main():
   # Menampilkan judul program
   print ("Akar-akar Persamaan Kuadrat")

   # Meminta user memasukkan a b c
   a = int(input("\nMasukkan nilai a: "))
   b = int(input("Masukkan nilai b: "))
   c = int(input("Masukkan nilai c: "))

   # Hitung D
   D = (b*b) - (4*a*c)

   if D < 0:
      print ("akar-akar imajiner, exitting...")
      sys.exit(1) #exit program

   elif D == 0:
      x1 = (-b + math.sqrt(D)) / (2*a)
      x1 = x2

   else:
      x1 = (-b + math.sqrt(D)) / (2*a)
      x2 = (-b - math.sqrt(D)) / (2*a) 

   # Setelah nilai D dan akar-akar didapat, tampilkan hasil
   print ("\nx1 = %d" %x1)
   print ("x2 = %d" %x2)

   os.system("pause")

if __name__ == "__main__":
   main()


NOTE: Pertama, coba copy-paste listing kode diatas ke editor anda, jika bermasalah/terdapat error, anda perlu mengetik manual karena memang Bahasa Pemrograman Python tidak menoleransi satupun kesalahan indent.

             Pada versi 2.7, saya menggunakan fungsi print() dari versi 3.0 karena saya lebih familiar dengan hal tersebut. Semoga bermanfaat.

2 komentar:

 

Subscribe to our Newsletter

Contact our Support

Email us: Support@templateism.com

Our Team Memebers