Jurnal Digital - Universitas Gunadarma

61 downloads 403 Views 1MB Size Report
cosinus dan tan, kemudian operasi probabilitas faktorial, permutasi dan kombinasi, lalu operasi perpangkatan, akar, dan eksponensial. Sementara operasi ...
APLIKASI KALKULATOR ILMIAH (SCIENTIFIC CALCULATOR) UNTUK PONSEL MENGGUNAKAN J2ME Adisthya Rahmadyan Jurusan Sistem Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Gunadarma Email: [email protected] ABSTRAKSI Aplikasi kalkulator ilmiah untuk ponsel ini dibuat dengan tujuan untuk menyediakan alternatif pilihan dari perangkat kalkulator ilmiah biasa, kapan saja dan dimana saja dibutuhkan. Aplikasi ini memiliki kemampuan kalkulasi ilmiah yang hampir mirip dengan kalkulator biasa, namun memiliki keterbatasan yang disebabkan oleh spesifikasi teknis ponsel. Metode penelitian yang digunakan dalam penelitan ini adalah metode studi pustaka, yaitu dengan membaca berbagai literatur mengenai matematika dan J2ME yang dapat mendukung penelitian, diperoleh melalui internet, perpustakaan, dan toko buku. Hasil penelitian yang diperoleh adalah suatu aplikasi kalkulator ilmiah untuk ponsel yang memiliki fungsi perhitungan dasar (penjumlahan, pengurangan, perkalian, dan pembagian), fungsi perpangkatan dan akar, fungsi eksponen, fungsi faktorial, fungsi permutasi, fungsi kombinasi, fungsi sinus, fungsi cosinus, fungsi tangen, fungsi konversi antarbasis bilangan. Aplikasi ini juga memiliki fungsi perekaman data yang menyimpan masukan rumus aritmatika dari pengguna yang dapat dilihat kembali hasilnya. Aplikasi ini dapat berjalan pada ponsel yang memiliki dukungan Java MIDP 2.0 dan memiliki resolusi layar minimal 240×320 piksel. Kata kunci: Kalkulator Ilmiah, Aplikasi, Ponsel, Java, J2ME.

PENDAHULUAN Dewasa ini hampir setiap ponsel sudah memiliki aplikasi kalkulator bawaan yang menjadi salah satu fitur dari ponsel tersebut. Namun kebanyakan dari aplikasi kalkulator tersebut memiliki keterbatasan, yaitu tidak dapat melakukan operasi matematika yang lebih rumit dan spesifik seperti yang dapat dilakukan perangkat kalkulator ilmiah biasa. Sementara itu masyarakat, khususnya mereka yang terlibat secara langsung dengan operasi-operasi matematika yang sifatnya lebih rumit dan spesifik tersebut, terkadang membutuhkan kalkulator sebagai alat bantu untuk mempercepat proses perhitungan. Ketika saat itu terjadi dan mereka lupa untuk membawa perangkat kalkulator biasa atau tidak dapat menemukan perangkat kalkulator yang diinginkannya, tentu mereka akan mencari alternatif lain yang dapat digunakan. Ponsel yang dewasa ini nampaknya sudah dimiliki oleh kebanyakan orang, tentu juga akan menjadi pilihan alternatif yang pertama muncul di benak mereka, karena memang terdapat aplikasi kalkulator di dalamnya. Sayangnya, aplikasi kalkulator pada ponsel tidak akan banyak membantu jika hanya dapat melakukan perhitungan dasar seperti penjumlahan, pengurangan, perkalian, dan pembagian. Mereka yang sedang membutuhkan perangkat yang dapat melakukan kalkulasi ilmiah tentunya akan merasa kecewa dan berharap dapat menemukan alternatif pilihan lain yang dapat lebih banyak membantunya.

Seiring dengan perkembangan teknologi pada perangkat ponsel, aplikasi kalkulator yang mulanya hanya dapat melakukan fungsi perhitungan dasar kini dapat dikembangkan lagi hingga dapat melakukan operasi-operasi matematika yang lebih rumit dan spesifik. Tentu dengan keterbatasan sumber daya yang tersedia pada perangkat ponsel, tidak semua operasi matematika dapat diterapkan pada aplikasi kalkulator ilmiah yang dapat berjalan pada perangkat ponsel. Beberapa operasi tersebut yang dapat diterapkan pada saat tulisan ini disusun adalah operasi trigonometri sinus, cosinus dan tan, kemudian operasi probabilitas faktorial, permutasi dan kombinasi, lalu operasi perpangkatan, akar, dan eksponensial. Sementara operasi tambahan yang juga dapat diterapkan adalah operasi konversi antarbasis bilangan. Tujuan dari pembuatan aplikasi kalkulator ini bukanlah benar-benar untuk menggantikan perangkat kalkulator yang sebenarnya, melainkan sebagai alternatif pilihan untuk membantu mereka yang sedang membutuhkan suatu alat hitung yang dapat membantu mereka menyelesaikan kalkulasi ilmiah yang tidak dapat diselesaikan secara efektif oleh aplikasi kalkulator bawaan yang sudah terdapat pada perangkat ponsel, dimana saja dan kapan saja dibutuhkan. Aplikasi ini ditulis dalam bahasa pemgrograman Java yang lebih dikhususkan untuk pengembangan aplikasi pada ponsel, yaitu Java Micro Edition (J2ME). Bagaimana aplikasi ini menyelesaikan operasi-operasi matematika yang disediakan, seperti operasi perpangkatan, adalah dengan memanfaatkan pustaka kelas-kelas yang sudah disediakan pada bahasa Java. METODE PENELITIAN Tahapan awal penelitian adalah dengan melakukan perancangan terhadap struktur navigasi dari aplikasi, yaitu sebuah diagram yang menggambarkan hubungan dan rantai kerja dari setiap area kerja yang berbeda untuk membantu mengorganisasikan seluruh elemen di dalam aplikasi ini, struktur navigasi yang digunakan berjenis non-linear. Gambar 1 menggambarkan struktur navigasi aplikasi ini. Halaman Utama

Halaman Tentang

Halaman Bantuan

Halaman Riwayat

Halaman Rincian

Gambar 1. Struktur Navigasi

Kemudian dilanjutkan dengan tahapan mendesain antarmuka aplikasi. Dengan mendasarkan pada struktur navigasi di atas, berarti aplikasi ini memiliki lima macam halaman yang berbeda-beda fungsinya. Diawali dengan mendesain antarmuka halaman utama yang akan ditampilkan pertama kali saat aplikasi dijalankan. Halaman ini didesain memiliki bagian untuk memasukkan data, kemudian bagian untuk menampilkan hasil operasi matematika, dan bagian untuk menempatkan tombol-tombol

fungsi kalkulasi ilmiah. Bagian nomor 1 berarti bahwa bagian tersebut digunakan sebagai tempat untuk memasukkan data. Bagian nomor 2 digunakan untuk menampilkan hasil kalkulasi yang diperoleh dari data yang dimasukkan. Sedangkan bagian nomor 3 digunakan sebagai status mengenai basis bilangan yang sedang aktif saat itu. Selanjutnya bagian nomor 4 hingga nomor 7 merupakan bagian untuk menempatkan tombol-tombol dari fungsi-fungsi ilmiah yang disediakan pada aplikasi kalkulator ini. Sedangkan bagian nomor 8 dan nomor 9 merupakan bagian yang akan menjadi menu untuk berpindah antarhalaman maupun menghentikan aplikasi, seperti yang nampak pada gambar 2 berikut ini.

1

2 3 4a

4b

4c

4d

4e

4f

5a

5b

5c

5d

5e

5f

6a

6b

6c

6d

6e

6f

7a

7b

7c

7d

7e

7f

8

9

Gambar 2. Desain Halaman Utama

Langkah kedua dilanjutkan dengan mendesain antarmuka untuk keempat halaman berikutnya, yaitu halaman Riwayat (halaman yang menampilkan daftar ekspresiekspresi aritmetika yang sudah diproses sebelumnya, waktu penyimpanan, beserta hasilnya), halaman Rincian (rincian mengenai ekspresi arimetika yang dipilih dari halaman Riwayat), halaman Tentang (deskripsi singkat mengenai aplikasi), dan halaman Bantuan (berisi bantuan dalam penggunaan aplikasi). Keempat halaman ini memiliki desain yang hampir mirip satu sama lainnya, yang membedakan hanyalah isi yang ditampilkan oleh masing-masing halaman. Bagian nomor 1 menjadi judul dari masing-masing halaman. Sedangkan bagian nomor 2 menjadi isi dari halaman terkait sesuai dengan judulnya. Sedangkan bagian nomor 3 dan nomor 4 berguna sebagai menu navigasi untuk berpindah antarhalaman dan juga menu konteks yang terkait dengan halaman yang sedang aktif saat itu, seperti yang nampak pada gambar 3 pada halaman berikut.

1 2

3

4

Gambar 3. Desain Empat Halaman Berikutnya.

Tahapan berikutnya dilanjutkan dengan menyusun Pengevaluasi Ekspresi Aritmetika yang berguna untuk memroses masukan data berupa ekspresi aritmetika dan memberikan hasilnya. Aplikasi kalkulator ini mampu mengevaluasi suatu masukan ekspresi aritmetika yang cukup panjang, seperti 2-(1^2)x(1+(1+ -2)+3) untuk diproses hingga didapat hasil perhitungannya. Jika terdapat kesalahan dalam penulisan ekspresi tersebut, aplikasi ini juga mampu mendeteksi kesalahan tersebut. Pengevaluasi ini pertama kali akan membaca masukan tersebut dan menentukan apakah terdapat kesalahan penulisan atau tidak, jika terdapat kesalahan penulisan, maka akan dikirimkan pesan kesalahan kepada pengguna. Jika tidak terdapat kesalaan penulisan, maka akan dilanjutkan dengan menghitung jumlah elemen dari ekspresi tersebut dan memilah-milah setiap elemen dari ekspresi tersebut untuk disimpan ke dalam variabel larik (array). Kemudian yang terakhir adalah melakukan proses perhitungan dengan membaca elemen-elemen yang terdapat di variabel larik tersebut satu-persatu. Proses tersebut menggunakan dua stack yang bernama operand dan operator. Proses pengenalan elemen dilakukan dengan metode perbandingan, jika suatu elemen merupakan anggota operator maka akan ditumpuk ke stack operator, selain itu akan dianggap sebagai operand. Sementara proses perhitungan terhadap suatu operator dilakukan berurutan sesuai dengan tingkat prioritas yang dimiliki operator, sebuah operator yang memiliki nilai prioritas yang lebih tinggi akan diproses terlebih dahulu, sementara jika nilainya setara maka operator yang terdapat di dalam stack operator akan diproses terlebih dahulu, jika lebih rendah akan langsung ditumpuk ke stack operator. Aplikasi akan membandingkan operator yang terdapat di stack operator dan operator yang terdapat di larik. Tabel 1 pada halaman berikutnya menggambarkan bagaimana proses perhitungan berjalan. Tabel 1. Evaluasi Ekspresi Aritmetika 2-(1^2)x(1+(1+ -2)+3) Operand Operator

Tanpa Tanpa

-(1^2)x(1+(1+ -2)+3) Operand Operator

2 Tanpa

Operand Operator

2 -

(1^2)x(1+(1+ -2)+3)

1^2)x(1+(1+ -2)+3) Operand Operator

2 - (

Operand Operator

2 1 - (

Operand Operator

2 1 - ( ^

Operand Operator

2 1 2 - ( ^

Operand Operator

2 1 -

Operand Operator

2 1 - x

Operand Operator

2 1 - x (

Operand Operator

2 1 1 - x (

Operand Operator

2 1 1 - x ( +

Operand Operator

2 1 1 - x ( + (

Operand Operator

2 1 1 1 - x ( + (

Operand Operator

2 1 1 1 - x ( + ( +

Operand Operator

2 1 1 1 -2 - x ( + ( +

Operand Operator

2 1 1 -1 - x ( +

Operand Operator

2 1 0 - x (

Operand Operator

2 1 0 - x ( +

^2)x(1+(1+ -2)+3)

2)x(1+(1+ -2)+3)

)x(1+(1+ -2)+3)

x(1+(1+ -2)+3)

(1+(1+ -2)+3)

1+(1+ -2)+3)

+(1+ -2)+3)

(1+ -2)+3)

1+ -2)+3)

+ -2)+3)

-2)+3)

)+3)

+3)

+3)

3)

Tanpa Operand Operator

2 1 3 - x

Operand Operator

2 3 -

Tanpa

Tanpa Operand Operator

-1 Tanpa

Maka nilai didapat dengan mengeluarkan (pop) isi stack operand, untuk digunakan sebagai hasil perhitungan ekspresi: 2-(1^2)x(1+(1+ -2)+3) = -1

Tahapan berikutnya dilanjutkan dengan menuliskan kode sumber untuk aplikasi kalkulator ilmiah ini dengan mendasarkan pada metode penelitian di atas, termasuk juga penulisan fungsi-fungsi ilmiah yang akan disediakan. HASIL DAN PEMBAHASAN Setelah menyelesaikan penulisan kode sumber, maka diperlukan pengujian terhadap fungsi-fungsi ilmiah yang disediakan, yaitu fungsi trigonometri (sinus, cosinus, dan tangen), fungsi probabilitas (faktorial, permutasi, dan kombinasi), fungsi pangkat, fungsi akar, dan fungsi konversi antarbasis bilangan, lalu dibandingkan hasil perhitungannya dengan hasil perhitungan pada perangkat kalkulator ilmiah biasa. Bahasa pemrograman Java menyediakan suatu kelas yang bernama Math yang memiliki berbagai fungsi matematika yang dapat dimanfaatkan, dan sebagian besar fungsi matematika yang disediakan di aplikasi kalkulator ini memanfaatkan kembali fungsifungsi yang disediakan di kelas Math tersebut. Berikut adalah penggambaran bagaimana aplikasi kalkulator ini memanfaatkan fungsi-fungsi matematika pada kelas Math. Fungsi Trigonometri Seluruh fungsi trigonometri yang terdapat pada aplikasi kalkulator ilmiah ini akan merubah nilai yang diterima ke dalam Radian terlebih dahulu dengan memanggil fungsi Math.toRadians(nilai). Untuk fungsi Sinus, aplikasi kalkulator ini akan memanggil fungsi Math.sin(nilai_dalam_radian) untuk memperoleh hasil perhitungan dari data nilai yang diterima. Hasil perhitungan yang menggunakan fungsi ini memberikan hasil yang sangat mendekati atau bahkan lebih akurat jika dibandingkan dengan hasil perhitungan yang diperoleh menggunakan kalkulator ilmiah biasa. Berikut tabel perbandingannya. Tabel 2. Perbandingan Hasil Kalkulasi Sinus Sudut 0 30 45 60 90

Aplikasi Kalkulator 0,0 0,49999999999999994 0,7071067811865475 0,8660254037844386 1,0

Perangkat Kalkulator 0 0,5 0,707106781 0,866025403 1

Untuk fungsi Kosinus, aplikasi kalkulator ini akan memanggil fungsi Math.cos(nilai_dalam_radian) untuk memperoleh hasil perhitungan dari data nilai yang diterima. Hasil perhitungan yang menggunakan fungsi ini memberikan hasil yang

sangat mendekati atau bahkan lebih akurat jika dibandingkan dengan hasil perhitungan yang diperoleh menggunakan kalkulator ilmiah biasa. Berikut tabel perbandingannya. Tabel 3. Perbandingan Hasil Kalkulasi Kosinus Sudut 0 30 45 60 90

Aplikasi Kalkulator 1,0 0,8660254037844387 0,7071067811865476 0,5000000000000001 6,123233995736×10-17

Perangkat Kalkulator 1 0,866025403 0,707106781 0,5 0

Untuk fungsi Tangen, aplikasi kalkulator ini akan memanggil fungsi Math.tan(nilai_dalam_radian) untuk memperoleh hasil perhitungan dari data nilai yang diterima. Hasil perhitungan yang menggunakan fungsi ini memberikan hasil yang sangat mendekati atau bahkan lebih akurat jika dibandingkan dengan hasil perhitungan yang diperoleh menggunakan kalkulator ilmiah biasa. Berikut tabel perbandingannya. Tabel 4. Perbandingan Hasil Kalkulasi Tangen Sudut 0 30 45 60 90

Aplikasi Kalkulator 0,0 0,5773502691896257 0,9999999999999999 1,7320508075688767 1,633123935319537×1016

Perangkat Kalkulator 0 0,577350269 1 1,732050808 Menampilkan simbol kesalahan.

Fungsi Probabilitas Ketiga fungsi matematika yang termasuk ke dalam fungsi probabilitas ini dibuat dengan tidak memanfaatkan kelas Math karena tidak tersedia di dalam kelas tersebut. Untuk fungsi faktorial, dibuat dengan metode rekursif, artinya fungsi ini akan terus memanggil dirinya sendiri hingga suatu keadaan terpenuhi. Fungsi ini akan melakukan perhitungan dengan gambaran sebagai berikut (nama fungsinya fac): fac(nilai) = nilai × fac(nilai−1)

Fungsi tersebut akan terus memanggil dirinya sendiri hingga nilai mencapai 1 atau 0. Untuk fungsi permutasi, dibuat sesuai dengan rumus permutasi, yaitu:

Jika digambarkan sebagai fungsi akan terlihat seperti berikut (nama fungsinya P): P() = fac(nilai1) / fac((nilai1 − nilai2))

Artinya fungsi ini juga akan memanggil fungsi faktorial kembali untuk memperoleh hasil perhitungannya, dimana nilai1 menjadi penganti unsur n dan nilai2 menjadi pengganti unsur k dalam permutasi. Untuk fungsi kombinasi, dibuat sesuai dengan rumus kombinasi, yaitu:

Jika digambarkan sebagai fungsi akan terlihat seperti berikut (nama fungsinya C):

C() = fac(nilai1) / (fac(nilai2) × fac((nilai1−nilai2))

Dengan demikian fungsi ini juga melakukan pemanggilan fungsi faktorial untuk memperoleh hasil perhitungannya, dimana nilai1 menjadi penganti unsur n dan nilai2 menjadi pengganti unsur r dalam kombinasi. Ketiga fungsi probabilitas tersebut memberikan hasil perhitungan yang sama dengan yang hasil perhitungan yang diperoleh menggunakan perangkat kalkulator yang sebenarnya. Fungsi Perpangkatan dan Akar Fungsi perpangkatan ini menggunakan algoritma yang berasal dari artikel yang disusun oleh Lawrence Fulton dan Daniel Williams dari situs Java.net. Karena konfigurasi pustaka Java Micro Edition tidak mendukung fungsi Math.pow(). Oleh karena itu digunakan salah satu metode yang dirancang oleh kedua orang tersebut, yaitu metode yang memanfaatkan fungsi Math.sqrt() Java. Menurut penyusunnya, metode yang memanfaatkan fungsi Math tersebut sudah memberikan hasil yang cukup akurat, meski begitu penyusunnya berharap ada orang lain yang dapat memberikan algoritma yang lebih baik dan hemat sumber daya. Tingkat akurasi hasil perhitungan yang didapat dengan menggunakan metode tersebut cukup baik jika dibandingkan dengan hasil yang didapat menggunakan perangkat kalkulator biasa. Tabel 5 berikut memperlihatkan perbandingannya. Basiseksponen

23 216 2-3 90,5 80,3333

Tabel 5. Perbandingan Hasil Perpangkatan Aplikasi Kalkulator 8,0 65536,0 1,0006771306930664 3,0 1,9986466550053015

Perangkat Kalkulator 8 65536 0,125 3 1,999861375

Sedangkan untuk fungsi akar juga memanggil kembali fungsi perpangkatan, hanya saja dalam kode programnya, operand pertama berfungsi sebagai nilai akarnya dan dijadikan bentuk (1/operand_pertama). Tabel 6 memperlihatkan perbandingan hasil antara aplikasi kalkulator ini dengan perangkat kalkulator sebenarnya. Tabel 6. Perbandingan Hasil Akar Akar, Basis 2,9 3,64 3,8 (1,5),9 2,(0,5)

Aplikasi Kalkulator 3,0 3,9783976939345327 1,9986466550053015 4,302062013956768 0,7071067811865476

Perangkat Kalkulator 3 4 2 4,326748711 0,707106781

Fungsi Konversi Antarbasis Bilangan Fungsi konversi antarbasis bilangan menggunakan metode-metode dari kelas data type wrapper Integer, yaitu versi kelas objek dari tipe data sederhana int. Kelas tersebut memiliki metode parseInt(String s, int radix) yang menerima masukan data berupa String untuk memberikan hasil konversi ke suatu basis dalam bilangan bulat, sedangkan metode toBinaryString(int i) digunakan untuk mengonversi masukan berupa bilangan bulat basis desimal ke dalam nilai berbasis biner, toOctalString(int i) yang digunakan

untuk mengonversi masukan berupa bilangan bulat basis desimal ke dalam nilai berbasis oktal, dan toHexString(int i) yang digunakan untuk mengonversi masukan berupa bilangan bulat basis desimal ke dalam nilai berbasis heksadesimal. Fungsi konversi ini hanya dapat melakukan konversi bilangan bulat positif saja dan tidak dapat melakukan konversi dalam bentuk pecahan, serta karena keterbatasan memori ponsel pada saat pembuatan aplikasi ini maka hanya dapat mengonversi nilai masukan maksimal sebesar 1023. Jika layar status menunjukkan basis bilangan selain basis desimal (DEC), maka seluruh tombol fungsi perhitungan matematika akan dimatikan untuk sementara. Pemrosesan konversi nilai dilakukan dengan mendeteksi basis bilangan yang aktif saat itu dan basis bilangan yang dituju, baru kemudian dilakukan pemanggilan fungsi yang akan memroses nilai tersebut. Simulasi Aplikasi Kalkulator Ilmiah Pada Perangkat Komputer Selain pengujian terhadap hasil perhitungan fungsi ilmiah, perlu dilakukan juga pengujian terhadap tampilan antarmuka aplikasi dengan cara melakukan simulasi. Proses simulasi aplikasi dilakukan pada perangkat komputer, tidak pada perangkat ponsel yang sebenarnya. Sehingga perlu diperhatikan bahwa, hasil akhir mengenai tampilan antarmuka aplikasi ini jika dijalankan pada perangkat ponsel yang sebenarnya sudah pasti akan berbeda dengan hasil akhir yang diperlihatkan pada simulasi. Konfigurasi perangkat ponsel yang seolah-olah digunakan pada proses simulasi ini memiliki dimensi layar 240×320 piksel dengan dukungan profil dan konfigurasi Java MIDP (Mobile Information Device Profile) versi 2.0 dan CLDC (Connected Limited Device Configuration) versi 1.0. Pada proses simulasi, tampilan antarmuka aplikasi berhasil ditampilkan sesuai dengan desain yang sudah ditetapkan sebelumnya. Dengan mendasarkan pada konfigurasi perangkat pada saat simulasi, maka dapat ditetapkan standar spesifikasi teknis yang disarankan mengenai perangkat ponsel sebenarnya yang akan digunakan untuk menjalankan aplikasi kalkulator ilmiah. Ponsel yang memenuhi standar spesifikasi teknis ini akan dapat menjalankan aplikasi kalkulator ilmiah ini sesuai dengan yang diharapkan dan tidak akan menimbulkan masalah. Namun jika dijalankan pada perangkat ponsel yang berada dibawah spesifikasi standar, kemungkinan akan timbul masalah pada tampilan akhir antarmuka atau tidak berjalannya fungsi-fungsi ilmiah secara normal. Gambar 4 berikut menggambarkan proses simulasi dari aplikasi kalkulator ilmiah ini.

Halaman Utama

Halaman Riwayat

Halaman Bantuan

Halaman Tentang

Halaman Rincian

Gambar 4. Simulasi Aplikasi Kalkulator Ilmiah.

KESIMPULAN DAN SARAN Kesimpulan yang dapat diambil adalah sebagai berikut: 1. Tujuan dari penelitian ini dapat dikatakan sudah terpenuhi, yaitu membangun sebuah aplikasi kalkulator ilmiah untuk ponsel sebagai alternatif pilihan yang dapat digunakan dalam membantu percepatan penyelesaian perhitungan ilmiah, yaitu trigonometri (sinus, kosinus, dan tangen), probabilitas (faktorial, permutasi, dan kombinasi), perpangkatan, akar, dan konversi antarbasis bilangan. 2. Perbedaan yang muncul dalam perbandingan hasil perhitungan fungsi ilmiah yang diperoleh menggunakan aplikasi kalkulator ilmiah ini dengan perangkat kalkulator ilmiah biasa sangat kecil, namun akan terlihat sebagai sesuatu yang tidak umum bagi pengguna biasa. 3. Terdapat ketergantungan spesifikasi teknis dari ponsel terhadap tampilan akhir dari halaman utama, jika dijalankan pada ponsel dengan spesifikasi teknis lebih rendah dari yang disarankan maka akan timbul permasalahan pada susunan tombol-tombol fungsi ilmiah dari aplikasi ini.

Saran yang dapat diberikan untuk pengembangan penelitian pada masa mendatang adalah sebagai berikut: 1. Dengan keterbatasan dukungan ponsel pada saat aplikasi ini dibuat, tidak semua fungsi matematika dapat disediakan. Jika dukungan profil Java, konfigurasi ponsel, dan sumber daya ponsel di masa mendatang sudah mendukung untuk perhitungan ilmiah yang lebih rumit lagi, maka ada baiknya pada penelitian berikutnya fungsifungsi matematika yang disediakan pada aplikasi ini lebih diperbanyak lagi. 2. Tampilan antarmuka halaman utama saat ini masih terbatas dan sangat bergantung pada spesifikasi teknis ponsel yang disarankan, ada baiknya jika di masa mendatang tampilan antarmuka halaman utama dan juga halaman-halaman lainnya dapat lebih ditingkatkan lagi dan tidak terlalu bergantung pada spesifikasi teknis ponsel, khususnya spesifikasi dimensi layar ponsel. DAFTAR PUSTAKA Anonim. Permutasi. 26 Juni 2009. http://id.wikipedia.org/wiki/Permutasi. Anonim. Kombinasi. 11 Juli 2009. http://id.wikipedia.org/wiki/Kombinasi. Fulton, Lawrence & Daniel Williams. Creating a Java ME Math.pow() Method. 11 Juni 2007. http://today.java.net/pub/a/today/2007/11/06/creating-java-me-math-powmethod.html. Hariyanto, Bambang Ir., MT. 2007. Esensi-esensi Bahasa Pemrograman Java. Penerbit Informatika, Bandung. Sanches, Julio dan Maria P., Canton. 2002. Java™ 2 Weekend Crash Course. PT. Elex Media Komputindo, Jakarta. Shalahuddin, M. dan Rossa A.S. 2008. Pemrograman J2ME Belajar Cepat Pemrograman Perangkat Telekomunikasi Mobile. Penerbit Informatika, Bandung.