KIS
(Kamus IndonesIa-SeruI)
NVIDIA
Member :
• CATUR ADI PRASETYO
• RAYA HARSYA SYAHRINDRA
• GILBERT ZEFANYA OMBUH
• JUMRIA PURNAMASARI
• PERMATA SITUMORANG
Disusun Oleh :
Kelompok 13 (Nvidia)
Telah Di Setujui,
Sorong, Februari 2023
Mengetahui,
Dosen Pengampu Mata Kuliah RPL (Rekayasa Perangkat Lunak)
Muhammad Yusuf.S,Kom
NIDN
ii
KATA PENGANTAR
Puji dan syukur kami panjatkan kepada Allah SWT, Karena atas rahmat
dan hidayah-Nya kami dapat menyelesaikan tugas dalam membuat laporan ini.
Penulisan laporan ini bertujuan untuk memenuhi UAS dalam pembuatan aplikasi
Terjemahan Indonesia-Serui pada mata kuliah Rekayasa Perangkat Lunak(RPL).
Laporan yang kami buat ini menjelaskan tentang aplikasi yang bertujuan
untuk mempermudah dalam proses komunikasi dengan suku serui. Kelompok
kami juga mengucapkan banyak terima kasih kepada pihak-pihak yang telah
membantu dalam penyusunan laporan ini, antara lain :
Akhir kata kami mengucapkan banyak terima kasih atas perhataian dari
pembaca. Semoga Allah Subhanahu wa ta’ala selalu memberi karunianya kepada
kita, dan semoga laporan ini dapat bermanfaat dan berguna terutama untuk kami
dan pembaca.
iii
DAFTAR ISI
iv
1. PENDAHULUAN
1.1 Tujuan
• Agar pendatang dan suku asli dapat berkomunikasi dengan baik tanpa
adanya halangan
• Memudahkan turis dalam berkomunikasi
• Membantu peneliti yang sedang melakukan observasi
2. KEBUTUHAN SPESIFIKASI
2.1 Kebutuhan Functional
• Sistem harus dapat melakukan proses penerjemah bahasa
• Sistem harus dapat menampilkan bahasa yang diterjemahkan
1
2. 2.2 Performance
• Sistem dapat mengimput data bahasa dalam database aplikasi dengan
cepat
• Sistem dapat diakses 24 jam
• Software ini tidak disajikan dengan tampilan user friendly,sehingga
mudah untuk dipelajari,dipahami,dan digunakan
2.2.3 Security
• Mencegah kesalahan penginputan data terutama pada bahasa yang
akan diterjema
2
4. UML
4.1 Use Case Diagram
3
4.2 Activity Diagram
• Memilih menu Indonesia-Serui
4
• Memilih menu tentang
5
NO KARAKTERISTI BOBO
K T
1 Tingkat Kompleksitas Komunikasi Data 3
2 Tingkat Kompleksitas Pemrosesan Terdistribusi 0
3 Tingkat Kompleksitas Performance 3
4 Tingkat Kompleksitas Konfiguransi 2
5 Tingkat Frekuensi Penggunaan Software 3
6 Tingkat Frekuensi Input Data 3
7 Tingkat Kemudahan Penggunaan Bagi User 5
8 Tingkat Frekuensi Update Data 1
9 Tingkat Kompleksitas Processing Data 3
10 Tingkat Kemungkinan Penggunaan Kembali/reusable Kode 0
Program
11 Tingkat Kemudahan Dalam Instalasi 5
12 Tingkat Kemudahan Operasional Software (Backup, Recovery, 4
dsb)
13 Tingkat Software dibuat untuk multi 5
Organisasi/Perusahaan/Client
14 Tingkat Kompleksitas dalam Mengikuti Perubahan/Fleksibel 3
TOTAL 40
PERHITUNGAN FP
FP 110 40 44,65
KETERANGAN :
6
6. PENUTUP DAN KESIMPULAN
6.1 Kesimpulan
Aplikasi ini sangat praktis, dan dapat menghemat waktu serta biaya dalam
melakukan perjalanan atau penelitian, aplikasi ini juga mempermudah
masyarakat asli Serui/Indonesia yang ingin berkomunikasi secara langsung.
Dengan adanya aplikasi ini masyarakat Seru/Indonesia dapat dengan mudah
melakukan perjalana di sekitaran Indonesia dengan tenang tanpa rasa takut
dalam berkomunikasi.
6.2 Saran
Saran yang dapat penulis berikan terkait dengan pengembangan sistem aplikasi
kamus bahasa Indonesia-Serui ini adalah menambahkan lebih banyak lagi kosa
kata dalam bahasa serui, sehingga pengguna atau user dapat lebih banyak
mengetahui arti dalam bahasa Serui ke Indonesia maupun sebaliknya.
7
UNIVERSITAS MUHAMMADIYAH SORONG
PROGAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK
Jl. Pendidikan Telp(0951)-322382, Kota Sorong
LEMBAR ASISTENSI
REKAYASA PERANGKAT LUNAK
Kelompok 13 (Nvidia)
Ketua : Catur Adi Prasetyo (202155202024)
Anggota :
1. Raya Harsya Syahrindra (202155202084)
2. Gilbert Zevanya Ombuh (202155202015)
3. Jumria Purnamasari (202155202097)
4. Permata Situmorang (202155202089)
No Hari/Tanggal Kegiatan
1. Senin, 02 Januari 2023 Pembuatan aplikasi dan laporan
8
7. LAMPIRAN SOURCE CODE PROGRAM
MainActivity
package com.example.aplikasikamusserui;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.text.format.DateFormat;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import com.example.aplikasikamusserui.R;
import com.example.aplikasikamusserui.activity.DaftarIndonesia;
import com.example.aplikasikamusserui.activity.DaftarSerui;
import java.util.Calendar;
import java.util.Date;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
indonesia.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this,
DaftarIndonesia.class);
startActivity(i);
}
});
serui.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this,
DaftarSerui.class);
startActivity(i);
}
});
tentang.setOnClickListener(new View.OnClickListener() {
@Override
9
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, tentang.class);
startActivity(i);
}
});
tvToday = findViewById(R.id.tvDate);
tvMainSalam = findViewById(R.id.tvMainSalam);
animTv = AnimationUtils.loadAnimation(this, R.anim.anim_tv);
tvMainSalam.startAnimation(animTv);
getToday();
setSalam();
}
10
} else if (month == 4) {
bulan = "April";
} else if (month == 5) {
bulan = "Mei";
} else if (month == 6) {
bulan = "Juni";
} else if (month == 7) {
bulan = "Juli";
} else if (month == 8) {
bulan = "Agustus";
} else if (month == 9) {
bulan = "September";
} else if (month == 10) {
bulan = "Oktober";
} else if (month == 11) {
bulan = "November";
} else if (month == 12) {
bulan = "Desember";
}
String formatFix = hariIni + ", " + tanggal + " " + bulan + " " +
year;
tvToday.setText(formatFix);
}
@Override
public void onBackPressed () {
final AlertDialog.Builder builder = new
AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_baseline_exit_to_app_24);
builder.setTitle("Confirm Exit");
builder.setMessage("Do yo want to exit");
builder.setPositiveButton("Yes", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int which)
{
finish();
}
});
builder.setNegativeButton("Cancel", null);
final AlertDialog alertDialog = builder.create();
alertDialog.show();
}
}
DaftarIndonesia
package com.example.aplikasikamusserui.activity;
import android.R.layout;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
11
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import com.example.aplikasikamusserui.R;
import com.example.aplikasikamusserui.helper.DataHelper;
String[] daftar;
ListView ListView1;
Menu menu;
protected Cursor cursor;
DataHelper dbcenter;
public static DaftarIndonesia m;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_indonesia);
m = this;
dbcenter = new DataHelper(this);
RefreshList();
setupToolbar();
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
12
long arg3) {
final String selection = daftar[arg2];
Intent i = new Intent(DaftarIndonesia.this,
DetailIndonesia.class);
i.putExtra("merk", selection);
startActivity(i);
}
});
((ArrayAdapter) ListView1.getAdapter()).notifyDataSetInvalidated();
}
}
DaftarSerui
package com.example.aplikasikamusserui.activity;
import android.R.layout;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import com.example.aplikasikamusserui.R;
import com.example.aplikasikamusserui.helper.DataHelperr;
String[] daftarr;
ListView ListView2;
Menu menu;
protected Cursor cursor;
DataHelperr dbcenter;
public static DaftarSerui m;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_serui);
m = this;
dbcenter = new DataHelperr(this);
RefreshList();
setupToolbar();
13
toolbar.setTitle("Bahasa Serui");
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
((ArrayAdapter) ListView2.getAdapter()).notifyDataSetInvalidated();
}
}
DetailIndonesia
package com.example.aplikasikamusserui.activity;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.MenuItem;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import com.example.aplikasikamusserui.R;
import com.example.aplikasikamusserui.helper.DataHelper;
14
public class DetailIndonesia extends AppCompatActivity {
@SuppressLint("SetTextI18n")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail_indonesia);
SQLiteDatabase db = dbHelper.getReadableDatabase();
cursor = db.rawQuery("select * from indonesia where merk = '" +
merk + "'", null);
cursor.moveToFirst();
if (cursor.getCount() > 0) {
Bindonesia = cursor.getString(0);
sIndonesia = cursor.getString(1);
}
if (Bindonesia.equals("Ada Apa")) {
sGambar = "papua";
} else if (Bindonesia.equals("Anak")) {
sGambar = "papua";
} else if (Bindonesia.equals("Anjing")) {
sGambar = "papua";
} else if (Bindonesia.equals("Apa")) {
sGambar = "papua";
} else if (Bindonesia.equals("Berdiri")) {
sGambar = "papua";
} else if (Bindonesia.equals("Duduk")) {
sGambar = "papua";
} else if (Bindonesia.equals("Ikan")) {
sGambar = "papua";
} else if (Bindonesia.equals("Kapur")) {
sGambar = "papua";
} else if (Bindonesia.equals("Kelapa")) {
sGambar = "papua";
} else if (Bindonesia.equals("Kemari")) {
sGambar = "papua";
} else if (Bindonesia.equals("Kosong")) {
sGambar = "papua";
} else if (Bindonesia.equals("Kucing")) {
sGambar = "papua";
} else if (Bindonesia.equals("Orang tua laki-laki")) {
sGambar = "papua";
} else if (Bindonesia.equals("Orang tua perempuan")) {
sGambar = "papua";
} else if (Bindonesia.equals("Pinang")) {
sGambar = "papua";
} else if (Bindonesia.equals("Pintu")) {
sGambar = "papua";
} else if (Bindonesia.equals("Sirih")) {
15
sGambar = "papua";
} else if (Bindonesia.equals("Sudah")) {
sGambar = "papua";
} else if (Bindonesia.equals("Tidak apa apa")) {
sGambar = "papua";
} else if (Bindonesia.equals("Ucapan Selamat (malam hari)")) {
sGambar = "papua";
} else if (Bindonesia.equals("Ular")) {
sGambar = "papua";
}
tvMerk.setText(Bindonesia);
ivGambar.setImageResource(getResources().getIdentifier(sGambar,
"drawable", getPackageName()));
tvIndonesia.setText(sIndonesia);
setupToolbar();
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
}
DetailSerui
package com.example.aplikasikamusserui.activity;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.MenuItem;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import com.example.aplikasikamusserui.R;
import com.example.aplikasikamusserui.helper.DataHelperr;
16
public class DetailSerui extends AppCompatActivity {
@SuppressLint("SetTextI18n")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail_serui);
SQLiteDatabase db = dbHelper.getReadableDatabase();
cursor = db.rawQuery("select * from serui where merkkk = '" + merk
+ "'", null);
cursor.moveToFirst();
if (cursor.getCount() > 0) {
Bserui = cursor.getString(0);
sserui = cursor.getString(1);
}
if (Bserui.equals("Ai")) {
sGambarr = "papua";
} else if (Bserui.equals("Anggadi")) {
sGambarr = "papua";
} else if (Bserui.equals("Arikan")) {
sGambarr = "papua";
} else if (Bserui.equals("Aunai")) {
sGambarr = "papua";
} else if (Bserui.equals("Bento")) {
sGambarr = "papua";
} else if (Bserui.equals("Bereri")) {
sGambarr = "papua";
} else if (Bserui.equals("Boa")) {
sGambarr = "papua";
} else if (Bserui.equals("Boyo")) {
sGambarr = "papua";
} else if (Bserui.equals("Dai")) {
sGambarr = "papua";
} else if (Bserui.equals("Dian")) {
sGambarr = "papua";
} else if (Bserui.equals("Diru")) {
sGambarr = "papua";
} else if (Bserui.equals("Fiawera")) {
sGambarr = "papua";
} else if (Bserui.equals("Kauruampa")) {
sGambarr = "papua";
} else if (Bserui.equals("Munohi")) {
sGambarr = "papua";
} else if (Bserui.equals("Nehi")) {
sGambarr = "papua";
} else if (Bserui.equals("Rahutu")) {
sGambarr = "papua";
} else if (Bserui.equals("Roa")) {
17
sGambarr = "papua";
} else if (Bserui.equals("Rema")) {
sGambarr = "papua";
} else if (Bserui.equals("Roma")) {
sGambarr = "papua";
} else if (Bserui.equals("Tawai")) {
sGambarr = "papua";
} else if (Bserui.equals("Tofino")) {
sGambarr = "papua";
}
tvMerk.setText(Bserui);
ivGambar.setImageResource(getResources().getIdentifier(sGambarr,
"drawable", getPackageName()));
tvSerui.setText(sserui);
setupToolbar();
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
}
DataHelper
package com.example.aplikasikamusserui.helper;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.util.ArrayList;
import java.util.List;
18
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("PRAGMA foreign_keys=ON");
db.execSQL("create table indonesia(" +
"merk text," +
"arti text," +
"primary key(merk)" +
");" +
"");
19
");" +
"");
20
");" +
"");
db.execSQL("insert into indonesia values (" +
"'Ular'," +
"'Tawai'" +
");" +
"");
}
if (cursor.moveToFirst()) {
do {
categories.add(cursor.getString(0));
} while (cursor.moveToNext());
}
cursor.close();
db.close();
return categories;
}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
}
DataHelperr
package com.example.aplikasikamusserui.helper;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.util.ArrayList;
import java.util.List;
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("PRAGMA foreign_keys=ON");
21
db.execSQL("create table serui(" +
"merkkk text," +
"ok text," +
"primary key(merkkk)" +
");" +
"");
22
db.execSQL("insert into serui values (" +
"'Dian'," +
"'Ikan'" +
");" +
"");
23
"'Tawai'," +
"'Ular'" +
");" +
"");
if (cursor.moveToFirst()) {
do {
categories.add(cursor.getString(0));
} while (cursor.moveToNext());
}
cursor.close();
db.close();
return categories;
}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
24