IMPLEMENTAS PROGRAM JAVA DAN METODE NUMERIK

## DALAM MENGATASI KESULITAN PEMBELAJARAN MATEMATIKA

## IMPLEMENTANTION OF JAVA PROGRAMMING AND NUMERICAL MENTHODS OVERCOMING DIFFICULTIESIN LEARNING MATHEMATICS
Oleh:  Yuni  Sugiarti
Fakultas  Sains  dan  Teknologi,  UIN  Sarif  Hidayatullah  Jakarta Jln.  Ir.  H.  Juanda  No.  95  Ciputat,  Tangerang  Selatan
(yunianwas@yahoo.co.id)
Abstrak:  Pembelajaran  matematika  tidak  semuanya  bisa  diselesaikan  dengan  menggunakan  metode analitik. Salah satu solusinya dapat digunakan metode numerik. Metode numerik adalah persoalan-persoalan matematis  yang  penyelesaiannya  sulit  didapatkan  dengan  menggunakan  metode  analitik,  antara  lain: akar-akar  persamaan  polinom,  sistem  persamaan  lanjar,  nilai  integral,  persamaan  differensial,  interpolasi polinom,  turunan  numerik,  integrasi  numerik,  dan  lain-lain.  Tulisan  ini  bertujuan  mengimplementasikan pemograman Java dan metode numerik untuk menangani permasalahan dalam pembelajaran matematika yang  tidak  bisa  diselesaikan  oleh  metode  analitik.  Implementasi  hasil  kajian  menunjukkan  bahwa pemograman  Java  dan  metode  numerik  dapat  memecahkan  permasalahan  nilai  akar-akar  persamaan kuadrat baik yang menggunakan  rumus ABC maupun yang bukan rumus ABC, juga menetukan total nilai dan  indeks  akhir  peserta  didik  dihitung  dari  nilai  UTS,  nilai  UAS,  absensi,  tugas,  dan  portofolio  lainnya. Pemograman matematika seperti itu banyak dijual di pasaran dengan harga yang relatif mahal. Untuk itu para guru dan dosen dapat membuat sendiri pembelajaran matematika dengan menggunakan pemograman Java  dan  metode  numerik.  Media  pembelajaran  matematika  perlu  dikemas  secara  menarik,  khususnya melalui pemograman Java dan metode numerik.  Media ini menjadi salah satu alternatif yang perlu diterapkan di  kelas,  sehingga  pembelajaran  matematika  lebih  menarik  dan  efektif.
Kata  kunci:  Pembelajaran  matematika,  metode  numerik,  implementasi  pemograman  Java.
Abstract: Learning math is not everything could be solved by using analytical methods. One solution can be to use numerical methods. Numerical methods are mathematical problems difficult to obtain the solution using analytical methods, among others: the roots of polynomial equations, system of equations long and tapering,  the  value  of  the  integral,  differential  equations,  polynomial  interpolation,  numerical  derivatives, numerical integration, and others. This paper aims to implement Java programming and numerical methods to deal with problems in learning mathematics that can not be solved by analytical methods. Implementation results  of  the  study  indicate  that  the  Java  programming  and  numerical  methods  to  solve  the  problems  of the  value  of  the  roots  of  a  quadratic  equation  using  the  formula  both  ABC  and  non-ABC  formula,  also determine  total  and  the  final  index  value  is  calculated  from  the  learners  UTS  value,  the  value  of  UAS, absenteeism, job , and other portfolios. Mathematical programming as it sold in the market at a high price. For that the teachers and faculty can create their own learning mathematics using Java programming and numerical  methods.  Mathematics  instructional  media  needs  to  be  packaged  in  an  interesting,  particularly through Java programming and numerical methods. Media has become one of the alternatives that need to be  implemented  in  the  classroom,  making  learning  more  engaging  and  effective  math.
Keywords:  Learning  mathematics,  numerical  methods,  the  implementation  of  Java  programming.

## Pendahuluan
Teknologi Informasi dan Komunikasi (TIK) pada awalnya adalah alat hiburan dan alat penyampaian pesan-pesan penerangan,  bukan  di  desain  untuk  tujuan pembelajaran.  Kemudian  banyak  para  ahli  melihat potensi yang ada pada media ini untuk dimanfaatkan bagi pendidikan. Setelah dilakukan berbagai percobaan dan penelitian, terlihat potensi yang besar dan luas darimedia  ini  untuk  digunakan  menjadi  alat penyampaian pesan-pesan pembelajaran.Kemajuan Ilmu  Pengetahuan  dan  Teknologi  (iptek)  telah membawaperubahan pesat dalam kehidupan manusia. Pekerjaan yang dikerjakan olehmanusia secara manual bisa  digantikan  oleh  mesin.  Informasi  dan komunikasidapat diakses dengan mudah dan cepat sesuai kebutuhan.
Dengan  demikian  kemajuan  iptek  telah mempengaruhi semua ruang lingkup kehidupan,termasuk  juga  dalam  dunia  pendidikan. Misalnya pemanfaatan komputer sudah berkembang tidak hanya sebagai alat yang hanya dipergunakan untuk urusan administrasi saja, melainkan juga sangat dimungkinkan  untuk  digunakan  sebagai  salah  satu alternatif  belajar,  salah  satunya  pembelajaran matematika.  Dalam  kegiatan  pembelajaran matematika, sering ditemui beberapa kesulitan yang umumnya dihadapi mahasiswa. Diantaranya adalah kesulitan  menghitung  dengan  cepat,  kemampuan logika, keterampilan menulis ataumenggambar dan rasa malas belajar. Hal ini dikarenakan para mahasiswa memandang pelajaran matematika adalah pelajaran yang sulit dan membosankan.
Salah  satu  bentuk  penggunaan  teknologi pembelajaran  yang  dapat  menggabungkan  unsur pendidikan dan unsur hiburan adalah digunakannya teknologi  informasi  berbasis  komputer  yang  lebih spesifik. Metode ini  mengimplementasikan program untuk  membantu  kesulitan  belajar  matematika. Implementasi pemograman diharapkan dapat menjadi salah satu cara inovatif dalam penyampaian materi pembelajaran,  apalagi  didukung  kenyataan  bahwa sebagian mahasiswa sudah memiliki dan membawa laptop ke kelas. Sudah saatnya komputer digunakan untuk  kepentingan  pembelajaran.  Dengan menggunakan bahasa pemograman sebagai penyajian,
materi  pembelajaran  dapat  disajikan  secara  lebih interaktif dan menarik. Dengan adanya interaktivitas ini mahasiswa dengan mudah dapat memilih bagian materi pelajaran yang ingin dipelajari atau mempelajari bagian  materi  yang  belum  dipahami  sesuai kebutuhannya. Salah satu bentuk bahasa pemograman yang  dapat  digunakan  untuk  mengatasi  masalah pembelajaran tersebut adalah Java.
Menurut   Kadir (2010), Java merupakan bahasa pemograman  yang  bersifat  lintas-platform. Artinya bahasa  ini  dapat  dipakai  untuk  menyusun  program pada  berbagai  sistem  operasi  (misalnya  Linux, Windows, dan UNIX). Secara prinsip, program yang disusun dengan Java dapat ditulis pada sistem operasi apa pun  dan kemudian dapat di kompilasi (diubah ke dalam bentuk biner) pada sistem operasi yang lain dengan menggunakan penerjemah yang spesifik pada sistem  operasi  target.  Hal  menarik  lainnya,  hasil kompilasi dalam bentuk bytecode juga dapat disalin ke platform mana saja dan dapat dieksekusi secara langsung oleh JRE. Yang penting, JRE diinstal pada komputer tempat komputer di program (Raharjo, 2007). Program Java bisa ditulis dengan menggunakan editor teks  apa  saja,  sehingga  untuk  pembelajaran matematika sangat mendukung sekali.
Permasalahannya adalah bagaimana mengimplementasikan pemograman Java dan metode numerik  untuk  menangani  permasalahan  dalam pembelajaran matematika yang tidak bisa di selesaikan oleh  metode  analitik?    Berdasarkan  permasalahan tersebut, tujuan tulisan ini adalah mengimplementasikan pemograman Java dan metode numerik  untuk  menangani  permasalahan  dalam pembelajaran matematika yang tidak bisa di selesaikan oleh metode analitik.

## Kajian Literatur dan Pembahasan Peranan  Pemograman  Komputer
Komputer berperan besar dalam perkembangan bidang matematika khususnya metode numerk. Hal ini mudah dimengerti karena perhitungan dengan metode numerik adalah berupa operasi aritmatika seperti penjumlahan, perkalian, pembagian, plus membuat perbandingan (Munir,  2003).  Tetapi  jumlah  operasi  aritmatika  ini umumnya  sangat  banyak  dan  berulang,  sehingga
perhitungan  secara  manual  sering  menjemukan. Biasanya  mahasiswa  yang  melakukan  perhitungan manual sering membuat kesalahan. Untuk mengatasi hal ini, komputer berperan mempercepat perhitungan tanpa  membuat  kesalahan,  dengan  cara mengimplementasikan ke dalam bahasa pemograman. Dalam  dunia  komputer,  program  berarti  kumpulan perintah yang ditujukan kepada komputer agar komputer dapat  melakukan  tindakan  sesuai  dengan  yang dikehendaki oleh pembuat perintah (Kadir, 2010). Bila komputer  berkedudukan  sebagai  perangkat  keras ( hardware ),  maka  program  berkedudukan  sebagai perangkat lunak ( software ). Tanpa keberadaan program, komputer tidak berfungsi.
Penggunaan  komputer  dalam  metode  numerik antara lain untuk mengaplikasikanya ke dalam suatu bahasa  pemograman.  Langkah-langkah  metode numerik di formulasikan menjadi program komputer. Program ditulis dengan bahasa pemograman tertentu, seperti PASCAL, C,C++, Java dan sebagainya.
Menurut Kadir (2010), untuk membuat program yang ditulis oleh seseorang agar bisa di jalankan oleh komputer, diperlukan suatu program lain yang berfungsi untuk  menerjemahkan  program  tersebut  ke  dalam bentuk yang dimengerti oleh komputer. Pada bahasa Java, program ditulis dengan menggunakan editor teks (misalnya  vi  atau  Notepad)  atau  menggunakan perkakas khusus untuk menangani pemograman Java (misalnya Eclipse atau Bborland Jbuilder). Program yang ditulis pemrogram biasa disebut sebagai kode sumber ( source code ). Selanjutnya kode sumber perlu diterjemahkan  ke  kode  yang  dinamakan bytecode . Kode  hasil  terjemahan  inilah  yang  akan  dijalankan komputer  melalui  perantara  suatu  program  khusus yang  di  kemas  dalam Java  Runtime  Environment (JRE).
Java  merupakan  bahasa  pemograman  yang bersifat lintas-platform (Gata, 2012). Artinya bahasa ini  dapat  di  pakai  untuk  menyusun  program  pada berbagai sistem operasi (misalnya Linux, Windows, dan  UNIX).  Secara  prinsip,  program  yang  disusun dengan Java dapat ditulis pada sistem operasi apa pun dan kemudian dapat dikompilasi (diubah ke bentuk biner)  pada  sistem  operasi  yang  lain  dengan menggunakan penerjemah yang spesifik pada sistem
operasi target. Hal menarik lainnya, hasil kompilasi dalam bentuk bytecode juga dapat disalin ke platform mana saja dan dapat dieksekusi secara langsung oleh JRE. Yang penting, JRE di install pada komputer tempat program akan di jalankan.
Selain  mempercepat  perhitungan  matematika, dengan pemograman komputer kita dapat mencoba berbagai  kemungkinan  solusi  yang  terjadi  akibat perubahan beberapa parameter. Solusi yang diperoleh juga  dapat  ditingkatkan  ketelitiannya  dengan mengubah-ubah nilai parameter.

## Metode Numerik
Metode numerik adalah satu-satunya metode alternatif yang  ada  dalam  upaya  menyelesaikan  persoalan- persoalan matematis(Conte, 1992). Metode yang lain dikenal  dengan  sebutan  metode  analitik.  Ada  dua alasan  umum  mengapa  pilihan  dijatuhkan  kepada metode numerik (Munir, 2003). Alasan pertama metode ini memberikan keefisienan dan keefektipan di dalam menyelesaikan  perpersolan-persoalan  matematis, dikarenakan saat ini berkembangnya perangkat keras dan lunak komputer. Alasan yang lain adalah metode numerik memungkinkan untuk mengkaji parametrik dari persoalan dengan medan yang bersifat sembarang. Alasan  yang  terakhir  ini  lebih  bermakna ketidakmampuan metode analitik untuk menyelesaikan persolan-persoalan matematis aplikasi yang kompleks. Dalam banyak literatur analisa numerik diungkapkan bahwa di dalam metode numerik keputusan menerima atau menolak suatu jawaban aproksimasi berdasarkan kepada toleransi kedekatan yang disepakati. Toleransi yang dibuat menyangkut kesepakatan kesalahan/galat yang ditimbulkan oleh rumus/formula yang digunakan. Tentu semakin kecil kesalahan/galat yang ditimbulkan oleh penggunaan suatu rumus, maka semakin baik hasil aproksimasi yang dihasilkan.
Menurut Basari (1997),kemajuan teknologi komputer saat ini memberi peluang besar untuk mendapatkan nilai aproksimasi yang cepat dan akurat yang pada akhirnya  meringankan  kerja  si  pengguna  metode numerik.  Hal  ini  didasari  pada  kenyataan  bahwa metode-metode yang sudah ada maupun yang sedang dikembangkan memerlukan proses literasi yang cukup panjang. Oleh karena itu tidak cukup memadai bila
dikerjakan dengan cara manual maupun menggunakan kalkulator biasa yang telah dikenal. Ada banyak contoh aplikasi  matematika  yang  mengharuskan  pilihan dijatuhkan kepada metode numerik ketimbang metode analitik.
Tidak  semua  permasalahan  matematis  atau perhitungan  dapat  diselesaikan  dengan  mudah. Bahkan dalam prinsip matematik, dalam memandang permasalahan yang terlebih dahulu diperhatikan apakah permasalahan tersebut mempunyai penyelesaian atau tidak.  Hal  ini  menjelaskan  bahwa  tidak  semua permasalahan  dapat  diselesaikan  dengan menggunakan perhitungan biasa.
Jika persoalan-persoalan yang kita hadapi tidak dapat  diselesaikan  dengan  metode  pemodelan matematika, metode analitik menggunakan dalil-dalil kalkulus,  maka  solusinya  dapat  diperoleh  dengan metode  numerik.  Metode  numerik  secara  harafiah berarti  suatu  cara  berhitung  dengan  menggunakan angka-angka. Secara istilah metode numerik adalah teknik  yang  digunakan  untuk  memformulasikan persoalan  matematik  sehingga  dapat  diselesaikan dengan operasi aritmatika biasa (Munir, 2003).
Menurut Mathews(1993), dengan menggunakan metode  numerik,  solusi  exact  dari  persoalan  yang dihadapi tidak akan diperoleh. Metode numerik hanya bisa  memberikan  solusi  yang    mendekati  atau menghampiri  solusi  sejati  sehingga  solusi  numerik dinamakan  juga  solusi  hampiran  ( approximation solution ). Pendekatan solusi ini tentu saja tidak tepat sama dengan solusi sejati, sehingga ada selisih antara keduanya. Solusi tersebut disebut solusi galat ( error ).
Semakin kecil galat yang diperoleh berarti semakin dekat solusi hampiran yang diperoleh dengan solusi sejatinya.

## Pembelajaran  Matematika
Matematika  yang  dipahami  sebagian  besar  orang sebagai ilmu hitung semata, memberi kesan bahwa dalam pembelajarannya matematika hanya berkutat seputar  angka  dan  rumus.  Sebuah  pikiran  picik tentunya  jika  hal  ini  dimaknai  oleh  mahasiswa pendidikan  Matematika.  Sejuta  misteri  unik sebenarnya tersembunyi di balik tabir matematika baik penggunaan  logika  dalam  berpikir  ketika  belajar
matematika, pola keteraturan matematika yang sering terkait dengan kehidupan sekitar kita, bahkan gaya dan keindahan dibalik setiap angka maupun formula dalam matematika.
Begitu juga dalam pembelajaran Matematika yang tidak  hanya  menggunakan  otak  kiri  dalam  menulis angka maupun menurunkan rumus-rumus yang ada. Dalam hal ini otak kanan pun berperan aktif menciptakan kreatifitas dalam mengolah matematika menjadi suatu hal  yang  menyenangkan,  dan  ini  terbukti  dengan banyaknya  mahasiswa  yang  memilih  jurusan matematika dan terjun memumpuninya. Namun hal ini berbanding terbalik dengan berbagai fakta yang terjadi pada sebagian besar siswa-siswa sekolah menengah atas. Jika ketika SD kebanyakan murid paling sering mendapat nilai 100 dalam pelajaran matematika maka ketika di SMP atau SMA matematika dianggap sesuatu yang cukup membuat siswa bahkan orang tua stress. Apalagi  jika  siswa  sudah  dihadapkan  pada  Ujian Nasional, maka matematika dianalogkan bagai musuh yang  mesti  diperangi  habis-habisan.  Ada  apakah gerangan? Memang sulitkah pelajaran matematika atau ada yang salah dalam pembelajaran matematika.
Pembelajaran  matematika  di  kelas  cukup mempengaruhi tingkat pemahaman dan penguasaan mahasiswa  tentang  matematika.  Hal  inilah  yang mengharuskan  pembelajaran  matematika  harus dikemas  semenarik  mungkin,  salah  satunya  dalam penyampaian materi matematika. Media pembelajaran matematika lewat teknologi tentunya menjadi alternative wajib yang harus dikuasai saat ini, sehingga dalam pembelajarannya  tidak  terkesan  monoton  dan membosankan.
Pada dasarnya belajar matematika adalah belajar memahami  konsep  atau  prinsip.  Seperti  konsep bilangan, konsep berhitung, konsep penalaran dan lain- lain. Menurut  Sulistyowati (2012), belajar matematika adalah belajar tentang rangkaian-rangkaian pengertian (konsep) dan rangkaian pernyataan-pernyataan (sifat, teorema, dalil, prinsip). Untuk mengungkapkan tentang pengertian dan pernyataan  diciptakan simbol-simbol, nama-nama, istilah dan perjanjian-perjanjian (fakta). Melalui  pemahaman  konsep,  kita  akan  mampu melakukan analisis (penalaran) terhadap permasalahan (soal) untuk kemudian mentransformasikan ke dalam
model dan bentuk persamaan matematika.Seringkali hal ini  tidak di sadari dalam pembelajaran  matematika. Banyak orang berpendapat belajar matematika sama dengan belajar berhitung, suatu pendapat yang salah. Untuk  meningkatkan  kemampuan  memecahkan masalah perlu dikembangkan keterampilan memahami masalah, membuat model matematika, menyelesaikan masalah  dan  menafsirkan  solusinya.  Dalam  setiap kesempatan, pembelajaran matematika hendaknya di mulai dengan pengenalan masalah yang sesuai dengan situasi.  Dengan  mengajukan  masalah  kontekstual, peserta  didik  secara  bertahap  di  bimbing  untuk menguasai konsep matematika. Dalam pembelajaran matematika  yang  paling  penting  ditekankan  yaitu keterampilan dalam proses berpikir. Peserta didik di latih untuk dapat mengembangkan kemampuan berpikir logis,  analitis,  sistematis,  dan  konsisten.  Untuk membantu  dalam  proses  berpikir  menyelesaikan matematika  tersebut,  program  komputer  bisa dimanfaatkan.

## Pemograman  Metode  Numerik    dalam Pembelajaran  Matematika
Seiring  pesatnya  perkembangan  teknologi  dan kemajuan  zaman,  maka  diperlukan  suatu  produk dengan  ketelitian  dan  akurasi  tinggi,  dan  waktu pengerjaan yang singkat. Begitu juga dengan persoalan yang melibatkan model matematika banyak muncul dalam    bidang  informatika,  fisika,  kimia,  ekonomi, mesin,  elektro,  sipil  atau  pada  persoalan  rekayasa ( engineering ) dan lain-lain(Kreyszic, 1988). Seringkali model matematika tersebut muncul dalam bentuk yang tidak ideal alias rumit. Menurut Munir (2003) model matematika  yang  rumit  ini  adakalanya  tidak  dapat diselesaikan dengan metode analitik yang sudah umum untuk mendapatkan solusi sejatinya (exact solution). Yang dimaksud dengan metode analitik adalah metode penyelesaian model matematika dengan rumus-rumus aljabar yang sudah lazim.
Metode  numerik  adalah  persoalan-persoalan matematis  yang  penyelesaiannya  sulit  didapatkan dengan menggunakan metode analitik, antara lain akar- akar persamaan polinom, sistem persamaan lanjar, nilai integral, persamaan differensial, interpolasi polinom, turunan  numerik,  integrasi  numerik  dan  lain-lain.
Memperlihatkan  bahwa  kebanyakan  persoalan matematika tidak dapat diselesaikan dengan metode analitik. Metode analitik hanya unggul untuk sejumlah persoalan yang terbatas, yaitu persoalan yang memiliki tafsiran geometri sederhana serta bermatra rendah (Dulimarta,1996).  Padahal  persoalan  yang  muncul dalam  dunia  nyata  seringkali  matematika penyelesaiannya  rumit.  Akibatnya  nilai  praktis penyelesaian metode analitik menjadi terbatas. Bila metode  analitik  tidak  dapat  lagi  di  terapkan,  maka solusinya persoalan sebenarnya masih dapat dicari dengan menggunakan metode numerik.
Metode numerik merupakan alat bantu pemecahan masalah matematika yang mampu manangani sistem persamaan yang besar, kenirlanjaran dan geometri yang rumit yang dalam praktek rekayasa seringkali tidak mungkin dipecahkan secara analitik menurut Munir (2003). Merupakan sarana untuk memperkuat kembali pemahaman  matematika.  Karena  metode  numerik ditemukan dengan menyederhanakan matematika yang lebih  tinggi  menjadi  operasi  matematika  yang mendasar.
Tahap-tahap memecahkan persoalan matematika secara metode numerik menurut Munir (2003) ada 6 tahapan  yaitu  :  (1)  Tahap  pemodelan,  yang memodelkan  persoalan  dunia  nyata  ke  dalam persamaan matematika; (2) Penyederhanaan model, model  matematika  yang  dihasilkan  di  tahap  1 kemungkinan  masih  terlalu  kompleks,  yaitu memasukkan banyak peubah (variabel) atau parameter. Semakin kompleks model matematikanya, semakin rumit penyelesaiannya. Mungkin beberapa andaian dibuat sehingga beberapa parameter dapat diabaikan. Contohnya, faktor gesekan udara diabaikan sehingga koefisien gesekan dapat di dalam model dapat dibuang. Model matematika yang diperoleh dari penyederhanaan menjadi lebih sederhana sehingga solusinya akan lebih mudah diperoleh; (3) Formulasi numerik, setelah model matematika  yang  sederhana  diperoleh,  tahap selanjutnya  adalah  memformulasikannya  secara numerik, yaitu:menentukan metode numerik yang akan dipakai  bersama-sama  dengan  analisis  galat  awal (yaitu taksiran galat, penentuan ukuran langkah, dan sebagainya), dan menyusun algoritma dari metode numerik yang dipilih; (4) Pemograman, selanjutnya
menerjemahkan algoritma ke dalam program komputer dengan menggunakan salah satu bahasa pemograman yang dikuasai; (5) tahapan operasional, dimana program komputer dijalankan dengan data uji sebelum data yang sesungguhnya;  (6)  tahapan  evaluasi,  bila  program sudah  selesai  dijalankan  dengan  data  yang sesungguhnya,  maka  hasil  yang  diperoleh diinterpretasi. Interpretasi meliputi analisis hasil run dan membandingkannya dengan prinsip dasar dan hasil- hasil empirik untuk menaksir kualitas solusi numerik, dan keputusan untuk menjalankan kembali program untuk memperoleh hasil yang lebih baik.
Metode numerik membutuhkan banyak operasi aritmetika  yang  berulang.  Oleh  karena  itu, pemograman  komputer  berguna  untuk  membantu perhitungan.  Implementasi  pemograman    menjadi kebutuhan  yang  penting  dalam  metode  numerik. Metode numerik pada dasarnya adalah suatu algoritma sehingga  dapat  di  implementasikan  dalam  bahasa pemograman misalnya Java. Peranan orang Informatika adalah pada fase pemrograman numerik.
Berikut contoh soal matematika yang di selesaikan dengan metode numerik dan implementasi bahasa pemograman Java.

## Soal 1.
1. Menentukan akar-akar persamaan kuadrat dengan rumus ABC
2. Menentukan akar-akar persamaan kuadrat dengan rumus lain
Algoritma dengan bahasa pemrograman Java:
1. Menambah util penggunaan untuk membaca masukan dari keyboard : import Java.util.Scanner;
2. Berikan variabel pilihan dengan tipe data integer : int pilihan = 0;
3. Buat variabel a,b,c,d,x,x1 dan x2 dengan tipe data doubel : double a,b,c,d,x,x1,x2 = 0;
4. Lakukan penentuan pilihan :
a) Menentukan akar-akar persamaan kuadrat dengan rumus ABC
b) Menentukan akar-akar persamaan kuadrat dengan rumus lain
c) Selesai
5. Masukan pilihan
6. Untuk pemilihan opsi pilihan a :
Masukan nilai a. Jika nilai a = 0, maka akan muncul pesan “Nilai a tidak boleh sama dengan nol !”. Jika tidak perintah selanjutnya adalah memasukan nilai b dan c.
Program akan nilai Diskriminan, yaitu  dengan rumus D = b 2 – 4ac Penulisan dalam bahsa pemrograman Java : d = (b * b) - (4 * a * c).
7. Program akan menampilkan nilai D.
8. Dari nilai D tersebut, diketahui apakah D < 0, D = 0, atau D > 0. Dimana : - Menentukan akar-akar persamaan kuadrat dengan rumus ABC ;
1) Jika D > 0, maka persamaan kuadrat mempunyai dua akar real yang berlainan.

## Rumus :

## dan
Dengan rumus penulisan pada bahasa program Java : x1 = ((-b) + (Math.sqrt(d))) / (2 * a);
x2 = ((-b) - (Math.sqrt(d))) / (2 * a);
Untuk mencetak X1 dan X2 : System.out.println(“Nilai x1 = “+x1); System.out.println(“Nilai x2 = “+x2);
2) Jika D = 0, maka persamaan kuadrat mempunyai dua akar real yang sama atau kembar. Dengan rumus penulisan pada bahasa pemrograman Java :x=-(b/(2*a))
3) Jika D < 0, maka persamaan kuadrat tidak mempunyai akar real, melainkan akar-akarnya adalah bilangan kompleks.
Rumus :
Dan
Dengan rumus penulisan pada bahasa pemrograman Java : x1 = (-2 * c)/(b + (Math.sqrt(d))); x2 = (-2 * c)/((b) - (Math.sqrt(d))); Untuk mencetak X1 dan X2 : System.out.println(“Nilai x1 = “+x1); System.out.println(“Nilai x2 = “+x2);
4) Perogram akan menampilkan kembali Pilihan yang akan dipilih oleh user
- Menentukan akar-akar persamaan kuadrat dengan rumus lain ;
1) Prinsipnya sama dengan langkah menetukan akar-akar persamaan kuadrat dengan rumus ABC , tetapi jika D < 0, maka rumus penulisan pada bahasa pemrograman Java :
x1 = (-2 * c)/(b + (Math.sqrt(d))); x2 = (-2 * c)/((b) - (Math.sqrt(d))); Untuk mencetak X1 dan X2 : System.out.println(“Nilai x1 = “+x1); System.out.println(“Nilai x2 = “+x2);
2) Perogram akan menampilkan kembali Pilihan yang akan dipilih oleh user
- Selesai
9. Cetak pesan “ANDA TIDAK INGIN MELAKUKAN APA-APA    ^^^^^CUKUP SEKIAN^^^^^”
Source code :
import Java.util.Scanner;
class Persamaan_Kuadrat { public static void main(String[] args){ int pilihan = 0; double a,b,c,d,x,x1,x2 = 0; Scanner input = new Scanner(System.in); do {
System.out.println(“=================================================”); System.out.println(“***SeLaMaT dAtAnG dI pRoGrAm PeRsAmAaN KuAdRaT***”); System.out.println(“=================================================”); System.out.println(“1. Menentukan akar-akar persamaan kuadrat dengan rumus ABC”); System.out.println(“2. Menentukan akar-akar persamaan kuadrat dengan rumus lain”);
System.out.println(“3. Selesai”); System.out.println(); System.out.print(“Pilihan anda : “); pilihan = input.nextInt(); switch (pilihan) { case 1:System.out.println(“Menentukan akar-akar persamaan kuadrat dengan rumus ABC”);
System.out.println(“Langkah-langkahnya adalah :”); System.out.println(“”); System.out.print(“Masukan nilai a = “);a = input.nextDouble(); if (a == 0){ System.out.println(“Nilai a tidak boleh sama dengan nol !”); System.out.println(“”); System.out.print(“Masukan nilai b = “);b = input.nextDouble(); System.out.print(“Masukan nilai c = “);c = input.nextDouble(); d = (b * b) - (4 * a * c); System.out.println(“”); System.out.println(“Nilai D         = “+d); if(d > 0){ System.out.println(“Karena D > 0 maka, Persamaan kuadrat mempunyai dua akar real yang berlainan.”); System.out.println(“”); x1 = ((-b) + (Math.sqrt(d))) / (2 * a); System.out.println(“Nilai x1 = “+x1); x2 = ((-b) - (Math.sqrt(d))) / (2 * a); System.out.println(“Nilai x2 = “+x2); System.out.println(“”); } if(d == 0){ x=-(b/(2*a));
System.out.println(“Karena D = 0 maka, Persamaan kuadrat mempunyai dua akar real yang sama / kembar yaitu : “+x);
System.out.println(“”); } if(d < 0){
System.out.println(“Karena D < 0 maka, Persamaan kuadrat mempunyai dua akar real, melainkan akar-akarnya adalah bilangan kompleks.”);
System.out.println(“”); x1 = ((-b) + (-(Math.sqrt(d)))) / (2 * a);
System.out.println(“Nilai x1 = “+x1+” i”); x2 = ((-b) - (-(Math.sqrt(d)))) / (2 * a); System.out.println(“Nilai x2 = “+x2+” i”); System.out.println(“”); }
break;
case 2:System.out.println(“Menentukan akar-akar persamaan kuadrat dengan rumus lain.”);
System.out.println(“Langkah-langkahnya adalah :”); System.out.println(“”); System.out.print(“Masukan nilai a = “);a = input.nextDouble(); if (a == 0){ System.out.println(“Nilai a tidak boleh sama dengan nol !”); System.out.println(“”); System.out.print(“Masukan nilai b = “);b = input.nextDouble(); System.out.print(“Masukan nilai c = “);c = input.nextDouble(); d = (b * b) - (4 * a * c); System.out.println(“”); System.out.println(“Nilai D         = “+d); if(d > 0){ System.out.println(“Karena D > 0 maka, Persamaan kuadrat mempunyai dua akar real yang berlainan.”);
System.out.println(“”); x1 = ((-b) + (Math.sqrt(d))) / (2 * a); System.out.println(“Nilai x1 = “+x1); x2 = ((-b) - (Math.sqrt(d))) / (2 * a); System.out.println(“Nilai x2 = “+x2); } if(d == 0){ x=-(b/(2*a));
System.out.println(“Karena D = 0 maka, Persamaan kuadrat mempunyai dua akar real yang sama / kembar yaitu : “+x);
System.out.println(“”); } if(d < 0){
System.out.println(“Karena D < 0 maka, Persamaan kuadrat mempunyai dua akar real, melainkan akar-akarnya adalah bilangan kompleks.”);
System.out.println(“”); x1 = (-2 * c)/(b + (Math.sqrt(d))); System.out.println(“Nilai x1 = “+x1); x2 = (-2 * c)/((b) - (Math.sqrt(d))); System.out.println(“Nilai x2 = “+x2);
} break;
case 3:System.out.println(“ANDA TIDAK INGIN MELAKUKAN APA-APA    ^^^^^CUKUP SEKIAN^^^^^”); break;
default:
} } while (pilihan !=3); } }

## Gambar 1 Tampilan  Java  untuk  menentukan  akar  persamaan  Linear
Gambar 1 adalah tampilan program Java untuk menentukan operasi matematika, akar-akar persamaan kuadrat dan sifat jenis -jenis akar persamaan kuadrat dengan nilai diskriminanya. Sudah diketahui bahwa menentukan akar-akar persamaan kuadrat dengan melengkapkan kuadrat sempurna selalu berhasil. Dapat memangkas langkah -  langkah  melengkapkan  kuadrat  dan  langsung  mendapatkan  akar  -akar  persamaan  kuadrat  dengan mensubstitusikan nilai a, b, dan c ke rumus yang telah kita peroleh yaitu sebagai berikut.
Rumus :
Dengan rumus penulisan pada bahasa program Java : x1 = ((-b) + (Math.sqrt(d))) / (2 * a); x2 = ((-b) - (Math.sqrt(d))) / (2 * a);
Untuk mencetak X1 dan X2 : Rumus di atas sering disebut rumus abc. Algoritma rumus itu (dengan melengkapkan kuadrat sempurna) dipakai komputer atau kalkulator dalam program menemukan akar-akar persamaan kuadrat. b2 – 4ac disebut diskriminan persamaan kuadrat ax2 + bx + c = 0, ditandai oleh D. Ada baiknya jika nilai D dihitung terlebih dahulu, lalu disubstitusikan pada rumus abc. Dari rumus kuadrat tampak bahwa penyelesaian atau akar -akar suatu persamaan kuadrat sangat ditentukan oleh nilai b 2 – 4ac. Bentuk b2 – 4ac disebut diskriminan dari persamaan kuadrat ax2 + bx + c = 0 (a ˙ 0) dan dilambangkan dengan huruf D, sehingga D = b2 – 4ac. Pemberian nama diskriminan D = b 2 – 4ac masuk akal, sebab nilai D = b2 – 4ac inilah yang membedakan (mendiskriminasikan) jenis akar-akar suatu persamaan kuadrat.
Persamaan kuadrat ax2 + bx + c = 0 (a ˙ 0) dengan nilai diskriminan D = b2 – 4ac,
a. Jika D > 0, maka persamaan kuadrat mempunyai dua akar real yang be rlainan.
b. Jika D = 0, maka maka persamaan kuadrat mempunyai dua akar real yang sama atau kembar. c. Jika D < 0, maka persamaan kuadrat tidak mempunyai akar real, melainkan akar - akarnya adalah bilangan imajiner.
Dengan demikian, untuk memeriksa jenis -jenis akar persamaan kuadrat (real atau tidak, sama atau tidak) tidak perlu menentukan akar -akar persamaan kuadrat tersebut tetapi cukup menghitung nilai diskriminan D = b 2 – 4ac.
Dalam program ini, pembulatan hanya dilakukan sehubungan dengan penggunaan bilangan real. Jumlah, sleisih, atau hasil kali dua bilangan cacah (integer) adalah bilangan-bilangan cacah (integer); jika hasilnya melampaui tempat yang tersedia dalam komputer, program ini akan diartikan mempunyai galat, dan hasilnya tidak dibulatkan dan digeser untuk memenuhi tampat yang ada. Hasil bagi dua bilangan bulat tidak selalu menghasilkan bilangan bulat, sehingga mungkin pembulatan merupakan suatu masalah. Tetapi dalam praktek aritmetik, bilangan integer tidak dipakai apabila kita ingin membulatkan suatu hasil bagi (kebanyakan perhitungan teknik tidak memakai pembagian bilangan integer).

## SOAL 2
Buatlah program untuk mengentri data nilai Pemrograman Java mahasiswa, menghitung nilai akhirnya dan memberi gradenya (berdasarkan nilai akhir yang didapat) kemudian menampilkan data-data tersebut dengan layout sebagai berikut :
No.       NIM           Nama                              Nilai Akhir                Grade
1.      0011500010   Aris                                       80                            B 2.      0322500200   Rina                                      74                            C
Jumlah Mahasiswa : 2 Jumlah Mahasiswa yg Lulus : 2 Jumlah Mahasiswa yg Tidak Lulus : 0
Ketentuannya :
a. Input jumlah mahasiswa yg data nilainya akan dientri.
Masukkan jumlah mahasiswanya :
b. Setelah itu masukkan data nilai mahasiswa, yaitu NIM, Nama, Nilai Midtest dan Nilai UASnya (looping sejumlah jumlah mahasiswa yg diinput pada bagian a. di atas).
Masukkan NIM : Masukkan Nama : Masukkan Nilai Kehadiran : Masukkan Nilai Midtest : Masukkan Nilai UAS:
c. Hitung nilai akhirnya dg rumus :
Nilai Akhir = (0.1 * nilai kehadiran) + (0.4 * nilai Midtest) + (0.5 * nilai UAS)
d. Beri grade untuk nilai akhir yg telah didapat dengan range grade sbb : A : 85 – 100
B : 76 – 84 C : 61 – 75 D : 46 – 60 E : 0 – 45
e. Hitung jumlah mahasiswa yg lulus dan tidak lulus (Jika grade A, B dan C à lulus, jikan grade D dan E à tidak lulus)
Tampilkan data-data nilai mahasiswa seperti layout di atas
Yuni Sugiarti: Implementasi Program Java dan Metode Numerik dalam Mengatasi Kesulitan Pembelajaran Matematika
Gambar 2 dan gambar 3 adalah pembuatan source code  dan  hasil  program  Java  untuk  soal  no  2. Menentukan  total  nilai  dan  indeks  nilai  akhir mahasiswa. Dengan input user yaitu Masukkan NIM, nama, nilai kehadiran, nilai uts dan nilai uas. Nilai Akhir kebijakannya 10% dari nilai kehadiran + 20% dari nilai tugas + 30% dari nilai uts + 40%  dari nilai uas. Grade untuk nilai akhir yg telah didapat dengan range grade, sebagai berikut: A : 85 – 100, B : 76 – 84, C : 61 – 75, D : 46 – 60, E : 0 – 45.Output yang diminta menghitung jumlah mahasiswa yang lulus dan tidak lulus sesuai dengan format nilai yang ditentukan.

## Simpulan  dan  Saran Simpulan
Pembelajaran  matematika  tidak  semuanya  bisa diselesaikan  dengan  metode  penyelesaian  analitik. Solusinya dapat diperoleh dengan metode numerik. Metode numerik adalah persoalan-persoalan matematis yang  penyelesaiannya  sulit  didapatkan  dengan menggunakan metode analitik, antara lain akar-akar persamaan polinom, sistem persamaan lanjar, nilai integral, persamaan differensial, interpolasi polinom, turunan numerik, integrasi numerik dan lain-lain.
Salah  satu  bentuk  penggunaan  teknologi pembelajaran  yang  dapat  menggabungkan  unsur
pendidikan dan unsur hiburan adalah digunakannya teknologi  informasi  berbasis  komputer,  yang  lebih spesifik yaitu implementasi  bahasa pemograman Java untuk membantu kesulitan belajar matematika bagi para mahasiswa. Implementasi pemograman Java dapat menjadi salah satu cara inovatif dalam penyampaian materi  pembelajaran.  Pada  akhirnya  akan  tercapai pembelajaran matematika yang lebih interaktif, menarik dan menyenangkan.
Metode  numerik  membutuhkan  banyak  operasi aritmetika yang berulang. Oleh karena itu, pemograman komputer  berguna  untuk  membantu  perhitungan. Implementasi pemograman  menjadi kebutuhan yang penting dalam metode numerik. Metode numerik pada dasarnya adalah suatu algoritma sehingga dapat di implementasikan dalam bahasa pemograman seperti Java.

## Saran
Pembelajaran  matematika  di  kelas  cukup mempengaruhi tingkat pemahaman dan penguasaan mahasiswa. Oleh karena itu pembelajaran matematika perlu dikemas semenarik mungkin. Media pembelajaran matematika  dengan  menerapkan  teknologi pemograman tentunya menjadi alternatif penting yang perlu dilaksanakan saat ini. Dengan upaya seperti itu

## Gambar 3
Tampilan Hasil Indeks Nilai Mahasiswa
pembelajaran matematika tidak terkesan monoton dan membosankan.
Realisasi pesatnya perkembangan teknologi dan kemajuan  zaman,  diperlukan  suatu  produk  untuk membantu dalam pembelajaran matematika dengan ketelitian dan akurasi tinggi dan waktu pengerjaan yang singkat. Model matematika yang rumit ini ada kalanya tidak dapat diselesaikan dengan penyelesaian model matematika dengan rumus-rumus aljabar yang sudah lazim  atau  metode  analitik.  Untuk  mengoptimalkan pembelajaran matematika dalam menyelesaikan soal yang  tidak  bisa  diatasi  oleh  metode  analitik,  maka sudah  saatnya  kita  mengaplikasikan  pemograman komputer dan metode numerik.
Pemograman matematika banyak dijual di pasaran dengan harga yang relatif mahal. Untuk itu para guru dan  dosen  dapat  membuat  program  pembelajaran matematika dengan menggunakan pemograman Java dan metode numerik. Oleh karena itu guru dan dosen matematika perlu mempelajari dan menerapkan kedua metode tersebut.  Proses ini perlu dilakukan secara bertahap  dan  kontinyu,  dengan  melibatkan  semua pihak terkait mulai guru, dosen dan semua pihak yang terlibat harus mempelajari dan mencobanya.

## Pustaka Acuan
Besari,  Mohamad  Sahari  1997. Interaksi  Matematika,  Sains,  dan  Rekayasa, Makalah  pada  seminar Penyempurnaan Pengajaran Matematika Layanan di ITB. 1997.
Conte, Samuel1992. Elementary Numerical Analysis, AnAlgorithmic Approach, 3rd Edition, MacGraw-Hills. Dulimarta, Hansye 1996. Diktat Kuliah Pengolahan Citra Digital. Teknik Informatika ITB.
Gata, Windu 2012. Asyiknya Mengenal Java. Rumpiteknok.com Kadir, Abdul 2010. Mudah Menjadi Programer Java. YesCom.
Kreyszic, Erwin 1998. Advanced Engineering Mathematics . John Wiley and Sons.
Munir,  Rinaldi 2002. Diktat Kuliah Metode Numerik untuk Teknik Informatika: Edisi Kedua (Revisi). Departemen Teknik Informatika ITB.
Mathews, John 1993. Numerical Methods for Mathematics, Science and Engineering, 2nd Edition. Prentice-Hall International.
Nakamura,  Shoichiro  1993. Applied Numericak Methods in C, Prentice-Hall Int.
Raharjo, Budi 2007. Mudah Belajar Java. Penerbit Informatika.
Sulistyowati, Lilis 2012. Pemanfaatan TIK Sebagai Media Pembelajaran Matematika. Jurnal Teknodik, Jakarta: Pustekkom Kemdikbud.
*******
Yuni Sugiarti: Implementasi Program Java dan Metode Numerik dalam Mengatasi Kesulitan Pembelajaran Matematika