Pengembangan Aplikasi Pencarian Unsur Kimia Berbasis Android Menggunakan Algoritma Pencarian Beruntun (Sequential Search) Ihin Muslihin1 Nurul Bahiyah2, Marsani Asfi3 1,3 Program Studi Teknik Informatika Sekolah Tinggi Manajemen Informatika dan Komputer CIC Cirebon, Jawa Barat Indonesia 2 Program Studi Sistem Informasi Sekolah Tinggi Manajemen Informatika dan Komputer CIC Cirebon, Jawa Barat Indonesia email:[email protected], 2 [email protected], Abstract—Perkembangan hardware dan software perangkat mobile memberikan kesempatan berkembanganya aplikasi berbasis mobile. Salah satunya adalah aplikasi pembelajaran, seperti belajar kimia. Kimia adalah salah satu mata pelajaran di sekolah menengah pertama dan sekolah menengah atas (SMP/SMA) yang mempelajari sifat-sifat zat, reaksi dan tentunya unsur-unsur kimia. Sebagian besar objek yang dipelajari di dalam ilmu kimia berisi konsep-konsep dan rumus-rumus atau persamaanpersamaan yang mendukung konsep-konsep tersebut. Tabel periodik unsur-unsur kimia adalah tampilan unsur-unsur kimia dalam bentuk tabel. Unsur-unsur tersebut diatur berdasarkan struktur elektronnya sehingga sifat kimia unsur-unsur tersebut berubah-ubah secara teratur sepanjang tabel. Setiap unsur didaftarkan berdasarkan nomor atom dan lambang unsurnya. Pembuatan aplikasi ini menggunakan algoritma pencarian beruntun (Sequential Search). Fokus pencarian informasinyya adalah data symbol dan rumus kimia. Analisa dan perancangan sistem menggunakan UML (Unified Modeling Language) dengan bahasa pemograman Java. Aplikasi ini nantinya dapat membantu dan memudahkan pengguna dalam mempelajari tabel periodik unsur kimia. 3 [email protected] perencanaan pembelajaran, pengelolaan pembelajaran serta penilaian pembelajaran. Industri yang mendorong perkembangan pasar mobile ini salah satunya adalah mobile learning, karena pengguna perangkat mobile cenderung menggunakan device mereka untuk melakukan pembelajaran dan sebagainya. Kimia adalah salah satu mata pelajaran di sekolah menengah pertama dan sekolah menengah atas (SMP/SMA) yang mempelajari sifat-sifat zat, reaksinya dan tentunya unsur-unsur kimia. Tabel periodik unsurunsur kimia adalah tampilan unsur-unsur kimia dalam bentuk tabel. Unsur-unsur tersebut diatur berdasarkan struktur elektronnya sehingga sifat kimia unsur-unsur tersebut berubah-ubah secara teratur sepanjang tabel. Setiap unsur didaftarkan berdasarkan nomor atom dan lambang unsurnya. Unsur kimia, atau hanya disebut unsur, adalah zat kimia yang tidak dapat dibagi lagi menjadi zat yang lebih kecil, atau tidak dapat diubah menjadi zat kimia lain dengan menggunakan metode kimia biasa, hingga saat ini diketahui terdapat kurang lebih 118 unsur di dunia. Berdasarkan pengamatan awal dalam penelitian ini teridentifikasi faktor-faktor penyebab siswa mengalami kesulitan dan kurang memahami tentang tabel periodik unsur kimia, selain itu siswa mengalami kendala dalam menghafal tabel periodik unsur kimia. Materi ini termasuk materi abstrak,materi tentang tabel periodik unsur kimia merupakan materi dasar ilmu kimia sehingga harus dikuasai dengan matang oleh setiap siswa dan mereka harus bisa menghafal unsur-unsur yang ada dalam tiap golongan,sehingga membuat siswa semakin kurang menyukai mata pelajaran ini dan mengakibatkan hasil nilai siswa pada materi ini dibawah nilai kelulusan. Keywords—Aplikasi, Android, Tabel Periodik, Kimia, Algoritma Pencarian, I. PENDAHULUAN Perkembangan teknologi mengalami kemajuan yang sangat pesat, baik dari segi perangkat keras (hardware) maupun perangkat lunak (software). Salah satu teknologi yang berkembang saat ini adalah perangkat mobile. Perkembangan hardware dan software perangkat mobile yang maju memberikan kesempatan untuk penciptaan dan pengembangan aplikasi berbasis mobile. Teknologi mobile yang saat ini banyak digunakan adalah Smartphone. Kemajuan teknologi komunikasi telah banyak memberikan manfaat bagi kehidupan manusia, secara khusus juga bermanfaat bagi dunia pendidikan terutama dalam proses pembelajaran, baik dalam proses 1 D. Periode Periode ditempatkan pada lajur horizontal dalam sistem periodik modern. Periode suatu unsur menunjukan suatu nomor kulit yang sudah terisi elektron (n terbesar) berdasarkan konfigurasi elektron. Konfigurasi elektron adalah persebaran elektron dalam kulit-kulitatomnya [4][5]. Sistem periodik terdiri atas 7 periode. II. LANDASAN TEORI A. Algoritma Pencarian Algoritma pencarian (searching algorithm) adalah algoritma yang menerima sebuah argumen kunci dan dengan langkah-langkah tertentu akan mencari rekaman dengan kunci tersebut. Setelah proses pencarian dilaksanakan, akan diperoleh salah satu dari dua kemungkinan, yaitu data yang dicari ditemukan (successful) atau tidak ditemukan (unsuccessful). Metode pencarian data dapat dilakukan dengan dua cara yaitu pencarian internal (internal searching) dan pencarian eksternal (external searching) [2]. Pada pencarian internal, semua rekaman yang diketahui berada dalam pengingat komputer sedangakan pada pencarian eksternal, tidak semua rekaman yang diketahui berada dalam pengingat komputer, tetapi dapat juga disimpan di penyimpanan luar. E. Golongan Golongan unsur pada sistem periodik unsur modern disusun berdasarkan jumlah elektron valensi (elektron yang terletak pada kulit terluar). Unsur dalam satu golongan mempunyai sifat yang cenderung sama dan ditempatkan dalam arah vertikal (kolom).Pada sistem periodik unsur modern, golongan dibagi menjadi 18 berdasarkan aturan IUPAC[4]. F. Unsur Transisi Pada sistem periodik unsur, yang termasuk dalam golongan transisi adalah unsur-unsur golongan B, dimulai dari IB –VIIIB. Sesuai dengan pengisian elektron pada subkulitnya, unsur ini termasuk unsur blok d, yaitu unsurunsur dengan elektron valensi yang terletak pada subkulit d dalam konfigurasi elektronnya [4][5]. B. Algoritma Pencarian Beruntun (Sequential Search) Pencarian berurutan sering disebut pencarian linear merupakan metode pencarian yang paling sederhana. Metode pencarian beruntun (Sequential Search) adalah proses membandingkan setiap elemen larik satu per satu secara beruntun, mulai dari elemen pertama, sampai elemen yang dicari ditemukan, atau seluruh elemen sudah diperiksa [2]. Pada kasus yang paling buruk, untuk N elemen data harus dilakukan pencarian sebanyak N kali pula. Algoritma pencarian berurutan dapat dituliskan sebagai berikut : 1) i ← 0; 2) ketemu ← false; 3) Selama (tidak ketemu) dan (i <= N) kerjakan baris 4; 4) Jika (Data[i] = x) maka ketemu ← true, jika tidak i ← i + 1; 5) Jika (ketemu) maka i adalah indeks dari data yang dicari, jika tidak data tidak ditemukan. Perhatikan contoh berikut: 13 16 14 21 76 III. METODELOGI PENELITIAN Metode yang digunakan dalam pengembangan perangkat lunak (System Developtment Life Cycle) menggunakan pendekatan prosedural dan sistematis, yaitu metode waterfall[3]. Tahapan metode waterfall adalah sebagai berikut : 20 Misal nilai yang dicari adalah X = 21, maka elemen yang diperiksa : 13, 16, 14, 21 (ditemukan!) Indeks larik yang dikembalikan: IX = 4 Misal nilai yang dicari adalah X = 15, maka elemen yang diperiksa : 13, 16, 14, 21, 76, 20 (tidak ditemukan!) Indeks larik yang dikembalikan: IX = 0. C. Sistem Periodik Sistem periodik unsur adalah suatu daftar unsurunsur yang disusun dengan semua unsur yang sudah dikenal dalam daftar tersebut. Sistem periodik modern disusun berdasarkan nomor atom dan kemiringan sifat. Lajur-lajur horizontal disusun berdasarkan kenaikkan nomor atom, sedangkan kolom vertikal disusun berdasarkan kemiringan sifat[4][5]. Jumlah unsur kimia dalam tabel periodik unsur terdapat 118 unsur. 2 1. Analisis Sistem Pada tahap ini penulis memperoleh informasi dengan cara wawancara. Dalam tahap ini informasi yang ada digambarkan dengan menguraikan alur sistem sampai alur dokumen yang akan dikembangkan. 2. Desain Sistem Tahap ini merupakan pengembangan penelitian dengan melakukan perancangan desain untuk kebutuhan perangkat lunak. Pada tahap perancangan sistem penulis menggunakan UML (Unified Modelling Language). 3. Penulisan Program Setelah melakukan perancangan desain, maka desain tersebut harus diubah menjadi bentuk yang dimengerti komputer yaitu penulisan program menggunakan bahasa pemrograman Java Android. 4. Pengujian Pengujian dalam tahapan ini yaitu mencari segala gejala kemungkinan kesalahan. Pengujian penelitian ini menggunakan uji black box. 5. Implementasi Setelah tahap pengujian selesai selanjutnya adalah implementasi, dimana sistem yang sudah dibuat diterapkan pada organisasi atau instansi yang terkait. IV. HASIL DAN PEMBAHASAN A. Implementasi Algoritma Pencarian Beruntun (Sequential Search) A. Analisa dan Perancangan Sistem Hasil analisa dan perancangan sistem yang dihasilkan terlihat seperti pada gambar 1. Gambar 1 merupakan analisa dan perancangan use case pengguna sistem. Rancangan pengguna sistem mencakup rancangan menu-menu yang akan diterapkan pada aplikasi. Implementasi algoritma pencarian beruntun (Sequential Search) pada aplikasi pencarian unsur kimia digunakan untuk mencari unsur-unsur kimia. Dalam algoritma pencarian beruntun (Sequential Search) dibutuhkan kata kunci pencarian dan list data sebagai sumber pencarian. Proses algoritma sequential search dijalankan ketika pengguna melakukan klik pada tombol cari. Gambar 2, menjelaskan proses aktifitas pengguna sistem ketika aplikasi dijalankan. Proses aktifitas ini djelaskan dalam diagram aktifitas sequence diagram. Proses algoritma pencarian beruntun (Sequential Search) sendiri memiliki alur kerja sebagai berikut : 1. Pengguna melakukan input kata kunci pada edittext. Kata kunci yang diinput berupa teks / huruf. 2. Pengguna melakukan klik pada tombol cari. 3. Ketika tombol cari diklik algoritma pencarian beruntun (Sequential Search) akan melakukan fungsinya. 4. Sistem akan membaca inputan pada edittext sebagai kata kunci pencarian. 5. Sistem akan melakukan perulangan sampai kata kunci pencarian sama dengan data yang ada pada sumber pencarian atau sampai semua data diperiksa. 6. Apabila kata kunci sama dengan data yang ada di sumber pencarian maka proses akan berhenti dan nilai variable akan berubah menjadi true, tetapi jika tidak ditemukan persamaan antara kata kunci dengan sumber data maka sistem akan melakukan perulangan sebanyak data yang ada. 7. Dengan kata lain algoritma pencarian beruntun (SequentialSearch) akan memeriksa setiap data yang ada pada sumber. 8. Jika nilai variable bernilai true sistem akan menampilkan data yang dicari sesua dengan kata kunci yang diinputkan, jika nilai variable bernilai false maka sistem akan menampilkan notifikasi untuk merubah kata kunci pencarian. 9. Proses selesai ketika variable bernilai true atau false. Gambar 1. Use Case Diagram Aplikasi Gambar 2. Sequence Diagram Pengguna Berikut implementasi algoritma pencarian beruntun (Sequential Search) pada source code aplikasi pencarian unsur kimia. Gambar 3, merupakan diagram activity yang menggambarkan sistem ketika berjalan. Perlakuan terhadap jalannya sistem terlihat dalam rancangan ini. public void sequentialsearch(){ String x = SQcr.getText().toString(); SQLiteDatabase db = dbcenter.getReadableDatabase(); cursor = db.rawQuery("SELECT lambang FROM unsur where lambang = '" + SQcr.getText().toString() + "' order by lambang asc",null); booleanketemu = false; daftar = new String[cursor.getCount()]; cursor.moveToFirst(); intcc = 0; while((!ketemu)&&(cc<cursor.getCount())){ cursor.moveToPosition(cc); daftar[cc] = cursor.getString(0).toString(); if (x.equals(daftar[cc])) Gambar 3. Diagram Activity Sistem 3 { ketemu = true; break; } else cc++; } if(ketemu){ daftar[cc] = cursor.getString(0); Toast.makeText(getBaseContext(), "Data Ditemukan", Toast.LENGTH_LONG).show(); } else{ Toast.makeText(getBaseContext(), "Kata Kunci Yang Dimasukan Salah", Toast.LENGTH_LONG).show(); } Gambar 4. Menu utama aplikasi pencarian } Konsep terapan dalam prosedur pencarian dengan sequential diatas dilakukan dengan tahapan berikut : 1. Ambil kata kunci pencarian dari textbox yang dipilih atau diketik. 2. Lakukan proses query semua data yang ada, dalam hal ini pencarian sequential dilakukan pada data lambing kimia. 3. Data hasil query diurutkan secara menaik, dari kecil ke besar. 4. Lakukan proses perulangan dengan : 4.1. Membandingkan satu per satu kata kunci pencarian dengan data lambang kimia yang ada dalam basis data. 4.2. Jika tidak ditemukan lakukan pembandingan dengan data selanjutnya, sedangkan jika ditemukan data akan memangkas proses pencarian dan menampilkan semua informasi terkait dengan data yang ditemukan tersebut. 5. Proses selesai. Gambar 5. Hasil proses pencarian dengan algoritma sequential search V. KESIMPULAN 1. 2. 3. Aplikasi pencarian unsur kimia ini menggunakan algoritma pencarian beruntun (sequentialsearch) yang menjadi pembanding terhadap proses pencarian yang berbasis query basis data. Aplikasi dapat mencari unsur kimia berdasarkan nama, lambang, golongan dan periode. Dari hasil uji aplikasi pencarian unsur kimia ini berjalan dengan baik di smartphone berbasis android. Informasi yang berhubungan dengan unsur kimia didapatkan dengan cukup lengkap pada aplikasi ini seperti golongan, periode, nomor atom, massa atom, konfigurasi elektron dan lain-lain. DAFTAR PUSTAKA B. Hasil Implementasi Sistem [1.] Fikri, Adam dan Imam Prakoso, Pemrogramman Java, Yogyakarta : Andi, 2005. 3 [2.] Munir, Renaldi, Algoritma dan Pemrograman Dalam Bahasa Pascal dan C, Bandung : Informatika, 2005. [3.] Pressman, Roger. S., Rekayasa Perangkat Lunak, Yogyakarta : Andi, 2011. 8 [4.] Purba, Michael, Kimia Untuk Kelas SMA Kelas X Semester 1, Jakarta : Erlangga, 2006. 9 [5.] Wantoni, A. Haris, Dini Kurniawati dan Meta Juniastri, Kimia Untuk SMA/MA Kelas X, Bandung : Penerbit Yrama Widya, 2016. 11 Gambar 4 merupakan tampilan aplikasi pencarian. Proses pencarian pada aplikasi tersebut didesain dengan dua teknik pencarian. Pencarian yang pertama adalah pencarian yang menggunakan konsep query langsung ke basis data. Sedangkan pencarian yang kedua adalah pencarian dengan menggunakan konsep pencarian berdasarkan algoritma sequential Search. Gambar 5, menampilkan hasil pencarian yang telah dilakukan untuk mendapatkan hasil sesuai dengan yang dipilih oleh user. Aplikasi ini dibuat dengan bahasa pemrograman Java dengan basis data SQLlite untuk menyimpan data. Sistem operasi dalam perangkat mobile menggunakan android. Biodata Penulis Ihin Muslihin, alumni program studi Teknik Informatika STMIK Catur Insan Cendekia(CIC) Cirebon. Nurul Bahiyah, memperoleh gelar Magister Komputer (M.Kom), Jurusan Teknik Informatika di Universitas Islam Indonesia, Yogyakarta. Saat ini menjadi Dosen di STMIK Catur Insan Cendekia(CIC) Cirebon. Marsani Asfi, memperoleh memperoleh gelar Magister Sains Ilmu Komputer (M.Si) Program Pasca Sarjana Magister Sains Ilmu Komputer Institut Pertanian Bogor. Saat ini menjadi Dosen di STMIK Catur Insan Cendekia(CIC) Cirebon. 4