• Tidak ada hasil yang ditemukan

Perbandingan Algoritma Not So Naive Dengan Algoritma Two Way Pada Aplikasi Kamus Bahasa Indonesia - Bahasa Arab Berbasis Android Chapter III V

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perbandingan Algoritma Not So Naive Dengan Algoritma Two Way Pada Aplikasi Kamus Bahasa Indonesia - Bahasa Arab Berbasis Android Chapter III V"

Copied!
34
0
0

Teks penuh

(1)

BAB 3

ANALISIS DAN PERANCANGAN

3.1 Analisis Sistem

Analisis sistem adalah sebuah teknik pemecahan masalah dimana sistem diuraikan menjadi komponen-kompenen dengan tujuan untuk mempelajari kinerja masing-masing komponen tersebut dalam mencapai tujuan sistem. Tahapan ini dilakukan agar pada saat proses perancangan aplikasi tidak terjadi kesalahan dan sistem dapat berjalan sesuai dengan tujuan utama. Ada dua tahapan analisis dalam tugas akhir ini yaitu analisis masalah dan analisis persyaratan. Analisis masalah untuk memahami kelayakan masalah dan analisis persyaratan untuk menjelaskan fungsi-fungsi yang ditawarkan dan mampu dikerjakan oleh sistem.

3.1.1 Analisis Masalah

Analisis masalah merupakan proses mengidentifikasi sebab dan akibat dibangunnya sebuah sistem agar sistem yang akan dibangun tersebut dapat berjalan sebagaimana mestinya sesuai dengan tujuan dari sistem itu. Selama ini jika seseorang ingin mengetahui bahasa Indonesia-Arab ,media yang digunakan untuk memperlancar penguasaan kosakatanya adalah melalui kamus. Aplikasi kamus didalam Smartphone tidak mencari kata secara manual. Tetapi dengan adanya fasilitas pencarian pada aplikasi kamus tersebut mempermudah user mendapatkan kata yang ingin dicarinya. Dengan memanfaatkan salah satu dari Algoritma String Matching seperti Algoritma Not So Naive dan Algoritma Two Way, maka mempermudah dan mempercepat pencarian kata dalam kamus.

(2)

penyebab-penyebab masalah tersebut. Diagram Ishikawa pada sistem ini dapat dilihat pada

Gambar 3.1

Gambar 3.1 Diagram Ishikawa

Pada Gambar 3.1 dapat dilihat bahwa terdapat empat kategori penyebab masalah pada penelitian pencarian kata pada kamus dengan Algoritma Not So Naive dan Algoritma Two Way yang digambarkan dengan tanda panah yang mengarah ke tulang utama, yaitu berkaitan dengan pengguna yaitu membutuhkan media yang praktis untuk mencari kata bahasa Indonesia-Arab di kamus dengan waktu yang cepat, sementara kamus masih berbentuk buku cetak dan masih melakukan pencarian secara manual. Media dan alat sangat sulit untuk dibawa kemana-mana oleh user dan tidak dapat di-update setiap saat sesuai dengan kebutuhan dan perkembangan saat ini. Media dan alat yang terlibat belum ada menggunakan algoritma string matching Not So Naive dan Two Way. Metode masih dilakukan secara manual dan metode pencarian kata pada kamus Bahasa Indonesia-Arab belum ada digunakan. Maka untuk megatasi masalah tersebut penulis berinisiatif untuk membuat aplikasi kamus pada platform Android yang Bahasa Indonesia-Arab menggunakan algoritma Not So Naive dan Two Way.

(3)

3.1.2 Analisis Persyaratan

Untuk membangun sebuah sistem, perlu dilakukan sebuah tahap analisis persyaratan. Terdapat dua bagian pada analisis persyaratan, yaitu persyaratan fungsional dan persyaratan non-fungsional. Persyaratan fungsional mendeskripsikan aktivitas yang disediakan suatu sistem. Sedangkan Persyaratan nonfungsional mendeskripsikan fitur, karakteristik dan batasan lainnya.

3.1.2.1 Persyaratan Fungsional

Persyaratan fungsional disini mendeskripsikan tentang sistem yang disediakan. Terdapat beberapa hal yang menjadi persyaratan fungsional pada Aplikasi Kamus Bahasa Indonesia-Arab , antara lain :

1. Sistem melakukan pencocokan string melalui kata yang di input oleh pengguna.

2. Sistem dapat menghasilkan kata terjemahan dari inputan yang dicari dengan menggunakan Algoritma Not So Naive dan Algoritma Two Way

3. Sistem menerima inputan dari user hanya berupa bentuk kata. 4. Sistem menampilkan hasil pencarian hanya berupa bentuk kata.

3.1.2.2 Persyaratan Non-Fungsional

Persyaratan non fungsional sistem merupakan karakteristik atau batasan yang menentukan kepuasan pada sebuah sistem seperti kinerja, kemudahan pengguna, biaya, dan kemampuan sistem bekerja tanpa mengganggu fungsionalitas sistem lainnya. Terdapat beberapa persyaratan non-fungsional yang harus dipenuhi diantaranya :

1. Performa

Sistem yang akan dibangun harus dapat menampilkan hasil pencarian yang sesuai dengan apa yang dicari.

2. Mudah digunakan

(4)

3. Hemat biaya

Sistem yang dibangun tidak memerlukan perangkat tambahan ataupun perangkat pendukung lainnya yang dapat mengeluarkan biaya.

4. Kontrol

Sistem yang dibangun mampu menampilkan pesan ketika tidak ada inputan yang akan dicari.

5. Manajemen Kualitas

Sistem yang akan dibangun harus memiliki kualitas yang baik yaitu tidak mempersulit user untuk melakukan pencarian kata.

3.2 Pemodelan

Pemodelan sistem dilakukan untuk memperoleh gambaran cara kerja sistem dan tentang objek apa saja yang akan berinteraksi dengan sistem, serta hal-hal apa saja yang harus dilakukan oleh sebuah sistem sehingga sistem dapat berfungsi dengan baik sesuai dengan kegunaannya.

Pada penelitian ini digunakan UML (Unified Modeling Language) sebagai bahasa pemodelan untuk mendesain dan merancang aplikasi Kamus bahasa Indonesia-Arab. Model UML yang digunakan antara lain Use Case Diagram, Activity diagram, dan Sequence diagram.

3.2.1. Use Case Diagram

(5)

Gambar 3.2 Use Case Diagram Sistem

(6)

Tabel 3.1 Use Case Proses Input Kata

Name Input kata

Actors User

Description Usecase ini mendeskripsikan penginputan kata yang ingin dicari

Basic Flow User menginput kata Alternate Flow -

Pre Condition User ingin menginput kata

Post Condition User mendapatkan hasil pencarian kata

Tabel 3.2 Use Case Algoritma Not So Naive Name Algoritma Turbo Boyer Moore

Actors User

Description Usecase ini mendeskripsikan proses pencarian kata menggunakan Algoritma Not So Naive

Basic Flow User memilih Algoritma Not So Naive

Alternate Flow User memilih Algoritma Not So Naive

Pre Condition User ingin mencari kata Not So Naive

Post Condition User mendapatkan hasil pencarian kata

Tabel 3.3 Use Case Proses Algoritma Two Way Name Algoritma Two Way

Actors User

(7)

Basic Flow User memilih Algoritma Two Way Alternate Flow User memilih Algoritma Two Way Pre Condition User ingin mencari kata Two Way Post Condition User mendapatkan hasil pencarian kata

3.2.2 Activity Diagram

Activity diagram adalah diagram aktivitas yang mendeskripsikan proses kerja dalam sebuah sistem yang sedang berjalan. Activity diagram bertujuan untuk membantu memahami keseluruhan proses dan menggambarkan interaksi antara beberapa Use Case Diagram. Activity diagram dari sistem yang akan dibangun dapat ditunjukkan pada Gambar 3.3.

Gambar 3.3 Activity Diagram Sistem

Gambar ini menunjukkan bahwa user melakukan input kata lalu user memilih algoritma untuk pencarian kemudian sistem melakukan pemanggilan fungsi algoritma yang telah dipilih dan sistem menampilkan hasil pencarian ke user.

3.2.3 Sequence Diagram

(8)

Gambar 3.4 Sequence Diagram Sistem

Gambar ini menunjukkan bahwa user melakukan input kata dan pilih algoritma kemudian sistem akan melakukan pemanggilan fungsi algoritma dan sistem akan menampilkan hasil pencarian.

3.3 Pseudocode

3.3.1 Pseudocode Algoritma Not So Naive

if (x[0] == x[1]) { k = 2;

ell = 1; }

else { k = 1; ell = 2; }

j = 0;

while (j <= n - m)

if (x[1] != y[j + 1]) j += k;

else {

if (memcmp(x + 2, y + j + 2, m - 2) == 0 && x[0] == y[j])

OUTPUT(j); j += ell; }

(9)

3.3.2 Pseudocode Algoritma Two Way

(10)
(11)

else

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung. Flowchart yang akan dibangun dapat ditunjukkan pada Gambar 3.5,3.6, dan 3.7

\

Gambar 3.5 Flowchart Gambaran Umum Sistem Kamus

(12)

Tidak

Gambar 3.6 Flowchart Algoritma Not So Naive

Gambar 3.6 menjelaskan algoritma Not So Naive dimulai dengan memasukkan dengan pattern yang akan dicari. Proses pencarian dilakukan dengan mengecek substring dari kiri ke kanan, Apabila X[1]!=Y[j+1] maka geser substring sebanyak k, apabila tidak maka geser substring sebanyak ell. X=pattern , Y =Teks.

Mulai

Masukkan Pattern

X[0]=X[1 K=2,ell=1

Substring ada? Cek substring dari kiri ke kanan

(13)

Ya

Gambar 3.7 Flowchart Algoritma Two Way

(14)

jika substring tidak sama dengan akhiran maka geser substring sebanyak karakter yang cocok.

3.5 Perancangan Antarmuka Sistem (Interface)

Proses perancangan antarmuka (interface) sebuah sistem adalah proses yang cukup penting dalam perancangan sebuah sistem. Merancang antar muka merupakan bagian yang paling penting dari merancang sebuah sistem. Sebuah antar muka harus dirancang dengan memperhatikan faktor pengguna sehingga sistem yang dibangun dapat memberikan kenyamanan dan kemudahan untuk digunakan oleh pengguna.

3.5.1 Rancangan Halaman Splash Screen

Halaman Splash Screen merupakan halaman yang pertama kali muncul pada saat sistem dibuka. Rancangan Tampilan Splash Screen dapat dilihat pada Gambar 3.8

Kamus

Bahasa

Indonesia

Arab

Gambar 3.8 Rancangan Splash Screen

Keterangan :

(15)

3.5.2Rancangan Halaman Utama

Halaman utama terdiri dari ImageView, Search,About dan Exit. Adapun tampilan dari halaman utama dapat dilihat pada Gambar 3.9

Gambar 3.9 Halaman Utama

Keterangan :

1. ImageView berisi Judul Aplikasi

2. Button Searchmenampilkan pencarian kata Politik 3. Button About berisi judul dan pembuat aplikasi 4. Button Exit untuk mengeluarkan user dari aplikasi

KAMUS Bahasa

Indonesia-Arab

SEARCH

ABOUT

(16)

3.5.3 Rancangan Halaman Search

Halaman Search berfungsi untuk melakukan pencarian kata pada kamus sesuai dengan algoritma yang telah dipilih. Adapun tampilan dari halaman search dapat dilihat pada Gambar 3.10

Gambar 3.10 Halaman Search

Gambar 3.10 Halaman Search

Keterangan :

1. Toolbar untuk menampilkan judul halaman

2. TabLayout untuk menampilkan pilihan algoritma pencarian 3. EditText untuk menampilkan kata

4. Button untuk mencari kata

5. ListView untuk menampilkan hasil pencarian 2

Not So Naive Two Way

1

Pencarian

3

Cari.... 4Cari

(17)

3.5.4 Rancangan Halaman About

Halaman About berisi judul dan nama dari pembuat Aplikasi. Adapun tampilan dari halaman search dapat dilihat pada Gambar 3.11

Gambar 3.11 Halaman About

Gambar 3.11 Rancangan Tampilan Pencarian

Gambar 3.11 Halaman About Keterangan :

1. Toolbar untuk menampilkan judul halaman

2. ImageView untuk menampilkan judul dan nama pembuat aplikasi.

3.5.5 Rancangan Halaman Exit

Halaman Exit berfungsi untuk mengeluarkan user dari aplikasi. Adapun tampilan dari halaman exit dapat dilihat pada Gambar 3.12

PERBANDINGAN ALGORITMA NOT SO NAIVE DAN TWO WAY

PADA KAMUS BAHASA INDONESIA-ARAB

BERBASIS ANDROID

SKRIPSI

NURUL HASANAH

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERAUTARA

2017 1

(18)

Gambar 3.12 Halaman Exit

Keterangan :

1. TextView untuk menampilkan teks. 2. TextView untuk menampilkan teks. 3. Button untuk tidak keluar dari aplikasi. 4. Button untuk keluar dari aplikasi.

1

Konfirmasi

2

Apa anda ingin keluar ?

3

4

(19)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi

Implementasi sistem merupakan tahapan lanjutan dari analisis dan perancangan sistem. Sistem ini dibangun dengan menggunakan bahasa pemrograman Java dan menggunakan Software Android Studio. Sistem ini diproses dan dijalankan pada smarthphone Samsung Galaxy J5. Pada sistem ini terdapat 6 tampilan halaman, yaitu Halaman Splash Screen, Tampilan Halaman Utama, Halaman Search, Halaman About, Halaman Fitur, Halaman Exit.

4.1.1 Tampilan Halaman Splash Screen

Halaman Splash Screen merupakan halaman yang pertama kali muncul pada saat sistem dibuka. Tampilan Halaman Splash Screen dapat dilihat pada Gambar 4.1

(20)

4.1.2 Tampilan Halaman Utama

Tampilan halaman utama berisi tentang menu Search, About dan Exit. Dimana pada menu Search, user bisa melakukan pencarian kata pada kamus bahasa Indonesia-Arab. Pada menu About, user bisa melihat judul dan nama pembuat aplikasi. Adapun tampilan halaman utama aplikasi dapat dilihat pada Gambar 4.2.

Gambar 4.2 Halaman Utama

4.1.3 Tampilan Halaman Search

(21)

Gambar 4.3 Halaman Search

4.1.4 Tampilan Halaman About

Tampilan halaman about berisi tentang judul dan nama pembuat aplikasi. Adapun tampilan halaman about dapat dilihat pada Gambar 4.4.

(22)

4.1.5 Tampilan Halaman Profil

Tampilan halaman Profil berfungsi untuk menampilkan photo profil dari pembuat aplikasi. Adapun tampilan dari halaman Profil dapat dilihat pada Gambar 4.5.

Gambar 4.5 Halaman Profil

4.1.5 Tampilan Halaman Exit

Tampilan halaman exit berfungsi untuk mengeluarkan user dari aplikasi. Adapun tampilan dari halaman exit dapat dilihat pada Gambar 4.5.

(23)

4.2 Tampilan Hasil Pencarian Not So Naive

Tampilan teks dan pattern yaitu cocok apabila pattern dan teks cocok. Pada

Gambar 4.7 dapat dilihat hasil pencarian kata pada kamus Bahasa Indonesia-Arabmenggunakan Algoritma Not So Naive.

Gambar 4.7 Hasil Pencarian Kata Algoritma Not So Naive

Gambar ini menunjukkan bahwa user memasukkan teks yaitu makan ke aplikasi. Algoritma yang digunakan adalah algoritma Not So Naive. Aplikasi melakukan pencocokan string dan menampilkan semua teks yang cocok dengan database. Terdapat 2 kata makan dalam database. Terdapat toast yang menunjukkan kata ditemukan dan running time yang diperlukan untuk mencari kata makan adalah 43 ms.

(24)

Gambar 4.8 Hasil Pencarian Kata Algoritma Not So Naive

Gambar ini menunjukkan bahwa user memasukkan teks yaitu jangan ke aplikasi. Algoritma yang digunakan adalah algoritma Not So Naive. Aplikasi melakukan pencocokan string dan menampilkan semua teks yang cocok dengan database. Tidak terdapat kata jangan dalam database. Terdapat toast yang menunjukkan bahwa kata tidak ditemukan dan running time yang diperlukan untuk mencari kata jangan adalah 35 ms.

4.3 Analisis Algoritma Two Way

Tampilan teks dan pattern yaitu cocok apabila pattern dan teks cocok. Pada

(25)

Gambar 4.9 Hasil Pencarian Kata Algoritma Two Way

Gambar ini menunjukkan bahwa user memasukkan teks yaitu makan ke aplikasi. Algoritma yang digunakan adalah algoritma Two Way. Aplikasi melakukan pencocokan string dan menampilkan semua teks yang cocok dengan database. Terdapat 2 kata makan dalam database. Terdapat toast yang menunjukkan kata ditemukan dan running time yang diperlukan untuk mencari kata makan adalah 50 ms.

(26)

Gambar 4.10 Hasil Pencarian Kata Algoritma Two Way

Gambar ini menunjukkan bahwa user memasukkan teks yaitu jangan ke aplikasi. Algoritma yang digunakan adalah algoritma Two Way. Aplikasi melakukan pencocokan string dan menampilkan semua teks yang cocok dengan database. Tidak terdapat kata jangan dalam database. Terdapat toast yang menunjukkan bahwa kata tidak ditemukan dan running time yang diperlukan untuk mencari kata jangan adalah 37 ms.

4.4. Hasil Pengujian

(27)

Tabel 4.5 Hasil Pengujian Algoritma Not So Naive

No Pola Running time

(ms)

Jumlah kata

yang ditemukan

Kejadian

1 Makan 43 2 Kata ditemukan

2 Apa 44 18 Kata ditemukan

3 Ayah 42 3 Kata ditemukan

4 Ibu 42 8 Kata ditemukan

5 Minum 40 1 Kata ditemukan

6 Tidur 41 1 Kata ditemukan

7 Siapa 39 1 Kata ditemukan

8 Ada 48 29 Kata ditemukan

9 jangan 35 0 Kata tidak

ditemukan

10 nuha 45 0 Kata tidak

ditemukan

Rata-rata 42 ms

(28)

Tabel 4.6 Hasil Pengujian Algoritma Two Way

No Pola Running

Time (ms)

Jumlah kata

yang ditemukan Kejadian

1 Makan 50 2 Kata ditemukan

2 Apa 53 18 Kata ditemukan

3 Ayah 54 3 Kata ditemukan

4 Ibu 50 8 Kata ditemukan

5 Minum 58 1 Kata ditemukan

6 Tidur 47 1 Kata ditemukan

7 Siapa 48 1 Kata ditemukan

8 Ada 53 29 Kata ditemukan

9 jangan 37 0 Kata tidak

ditemukan

10 nuha 52 0 Kata tidak

ditemukan

Rata-rata 50 ms

(29)

Dengan diketahui kompleksitas waktu suatu algoritma maka efisiensi program berdasarkan waktu dapat dibedakan menurut running time-nya runnng time dari suatu algoritmaa adalah ukuran waktu untuk melaksanakan suatu program sehinga menghasilkan output pada satu kompiler dan mesin eksekusi tertentu. Running time sebuah program tergantung beberapa faktor :

1) Input Program.

2) Jumlah Database dalam suatu program.

3) Kualitas dari kompiler yang digunakan untuk kompilasi pada program. 4) kemampuan dan kecepatan mesin yang digunakan untuk eksekusi program 5) kompleksitas algoritma

Setelah mendapatkan Hasil Pengujian dari Tabel 4.5 dan Tabel 4.6 maka dibuat grafik perbandingan hasil pengujian dari kedua Algoritma tersebut. Grafik dapat dilihat pada Gambar 4.11

(30)

Dari grafik diatas hasil running time tiap-tiap kata berbeda dalam suatu algoritma hal ini dikarenakan inputan program dan kemampuan ataupun kecepatan pada mesin yang digunakan untuk eksekusi program mempengaruhi kecepatan running time. Dari grafik diatas dapat dijelaskan bahwa Algoritma Not So Naive mendapatkan Hasil Running Time yang relatif rendah dibandingkan dengan Algoritma Two Way. Artinya bahwa Algoritma Not So Naive lebih cepat untuk pencocokan kata dibandingkan dengan Algoritma Two Way.

4.4.1 Kompleksitas Algoritma Not So Naive

Tabel 4.7 Kompleksitas hasil Algoritma Not So Naive

kode Program Eksekusi

(31)

tersebut. Dari tabel tersebet dapat diketahui kompleksitas algoritma Not So Naive tersebut adalah 9n + 11 dengan Kompleksitas = O (n).

4.4.2 Kompleksitas Algoritma Two Way

Tabel 4.8 Kompleksitas hasil Algoritma Two Way

(32)
(33)
(34)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan analisis, perancangan dan pengujian pada aplikasi kamus bahasa Indonesia-Arab dengan menggunakan algoritma Not So Naive dan Two Way, maka diperoleh beberapa kesimpulan :

1. Cara Kerja Algoritma Not So Naive memiliki fase pencarian mengecek teks dan pola dari kiri ke kanan. Algoritma Not So Naive akan mengidentifiksi terlebih dahulu dua kasus yang dimana di setiap akhir fase pencocokan pergeseran dapat dilakukan sebanyak 2 posisi ke kanan.

2. Cara Kerja Algoritma Two Way memiliki fase pencarian mengecek teks dan pola dari kiri ke kanan dan kanan ke kiri. Apabila Substring cocok maka geser substring sebanyak karakter yang cocok. Apabila Substring tidak cocok maka geser substring sebanyak 1 kali.

3. Algoritma Not So Naive melakukan pencocokan kata dengan lebih cepat bila dibandingkan dengan algoritma Two Way. Dalam pengujian 10 pola, rata-rata running time untuk Not So Naive adalah 42 ms sedangkan Two Way 50 ms.

4. Hasil kompleksitas untuk algoritma Not So Naive adalah Big O(n) dan kompleksitas untuk algoritma Two Way adalah Big O(n2).

5.2 Saran

Adapun saran-saran yang dapat dipertimbangkan untuk tahap pengembangan penelitian ini antara lain :

1. Pada tulisan bahasa arab sebaiknya mengenal huruf izaiyah terlebih dahulu.

2. Sistem ini sebaiknya ditambahkan menu baru yang dapat mendengar bacaan arabnya agar user mengetahui cara bacaannya dengan benar.

3. Sistem ini sebaiknya ditambahkan menu pengolahan data seperti menu edit, tambah dan delete agar data dalam aplikasi semakin banyak.

Gambar

Gambar 3.1
Gambar 3.2 Use Case Diagram Sistem
Tabel 3.3 Use Case Proses Algoritma Two Way
Gambar 3.3 Activity Diagram Sistem
+7

Referensi

Dokumen terkait

[r]

3 Proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari hasil suatu arus data yang masuk kedalam proses untuk dihasilkan arus

[r]

In the joint construction stage, the teacher and students work together to construct texts in the narrative genre through group writing with the help of a picture series or a short

[r]

Oleh karena hal tersebut diperlukan sebuah aplikasi sistem informasi yang dapat menangani data serta mengolah data yang ada dalam proses sewa menyewa kaset sampai

pelaksanaan.. Tugas kader pada kegiatan bulanan Posyandu. a) Tugas kader pada hari buka Posyandu disebut

kegiatan Posyandu dan perlu jadwal yang teratur dalam. pelaksanaan