Oleh
Ketua Jurusan
Ekonomi Dan Bisnis
KATA PENGANTAR
Dengan menyebut nama Allah SWT yang maha pengasih lagi maha
penyayang. Karena atas anugerah-Nya yang telah memberikan kesempatan dan
kemampuan kepada kami untuk menyelesaikan Proyek Mandiri yang berjudul
“Aplikasi Ketersediaan Ayam Broiler untuk Prodi Teknologi Produksi
Ternak Politeknik Negeri Lampung Berbasis Android”. Proyek ini memiliki
makna yang sangat penting dalam perjalanan akademik kami di Program Studi
Manajemen Informatika di Politeknik Negeri Lampung.
Penulis ingin menyampaikan rasa terima kasih kepada Dosen Pembimbing
dan pembahas kami yaitu Bapak Eko Subyantoro, S.Kom.,M.Kom, selaku
pembimbing dan Bapak Kurniawan Saputra, S.Kom., M.Kom. selaku pembahas,
karena atas bimbingan, dukungan, dan dorongannya yang sangat berharga dalam
mengarahkan dan membantu mengatasi berbagai tantangan dalam pelaksanaan
proyek mandiri ini. Tak lupa, kami juga ingin mengucapkan terima kasih kepada
teman-teman kami yang telah memberikan dukungan moral dan intelektual serta
kolaborasi dan diskusi dengan mereka telah menjadi bagian penting dari
keberhasilan proyek mandiri ini
Akhir kata, kami berharap Proyek Mandiri ini dapat bermanfaat dan
menginspirasi pembaca. Semoga Allah SWT senantiasa memberikan petunjuk dan
berkah dalam perjalanan kita. Amin.
Penulis
iv
DAFTAR ISI
Halaman
LAMPIRAN-LAMPIRAN ............................................................................... 45
vi
DAFTAR GAMBAR
Gambar Halaman
DAFTAR TABEL
Tabel Halaman
BAB I. PENDAHULUAN
1.2 Tujuan
Tujuan dari proyek mandiri ini adalah untuk menciptakan sebuah aplikasi
Ketersediaan Ayam Broiler untuk Program Studi Teknologi Produksi Ternak di
Politeknik Negeri Lampung Berbasis Android. Adapun tujuan dari aplikasi ini
adalah untuk memberikan informasi real-time tentang ketersediaan ayam broiler,
serta membantu dalam memanajemen peternakan.
3
1.4 Kontribusi
Setelah menyelesaikan proyek mandiri ini, kontribusi yang diharapkan
sebagai berikut:
1. Membantu mahasiswa peternakan dalam melakukan pencatatan
ketersediaaan ayam broiler secara online.
2. Membantu mahasiswa dalam manajemen ketersediaan ayam broiler
didalam kandang.
3. Membantu user untuk memberi informasi ketersediaan ayam broiler.
4
2.2 Peternakan
Peternakan ialah segala sesuatu yang melibatkan berbagai aspek seperti
sumber daya fisik, benih, bibit, pakan, alat, dan mesin peternakan, budi daya ternak,
panen, pascapanen, pengolahan, pemasaran, dan pengusahaannya. Definisi
peternakan tidak terbatas pada pemeliharaan saja, karena tujuan utama sektor ini
adalah mencari keuntungan dengan menerapkan prinsip-prinsip manajemen.
Menurut buku Icuk Rangga Bawono dan Erwin Setyadi berjudul Optimalisasi
Potensi Desa (2019).
2.3 Android
Android adalah sistem operasi Linux yang dirancang khusus untuk
perangkat seluler layar sentuh, seperti telepon pintar dan tablet. Android, Inc
Didirikan pada Oktober 2003 di Palo Alto, California, oleh Andy Rubin, Rich
Miner, Nick Sears, dan Chris White dengan tujuan awal mengembangkan sistem
operasi canggih untuk kamera digital. Namun, mengingat pasar kamera digital yang
terbatas, fokus pun beralih ke pasar telepon pintar untuk bersaing dengan Symbian
dan Windows Mobile (sebelum iPhone Apple dirilis). Meskipun beroperasi secara
rahasia dengan informasi terbatas, pengembang Android Inc., yang merupakan ahli
teknologi berpengalaman, mengungkapkan bahwa mereka sedang menciptakan
perangkat lunak untuk telepon seluler (Rumopa (2015, h.12) dalam Tri, 2020).
2.4 Aplikasi
Aplikasi adalah perangkat lunak komputer yang dirancang untuk
mengeksekusi tugas tertentu dengan memanfaatkan kemampuan komputer.
5
Simbol Keterangan
Aktor
Entitas eksternal, pengguna manusia, sistem
yang berinteraksidengan sistem
Use Case
Unit pekerjaan, kebiasaan yang diamati diluar
sistem yang dilakukan oleh aktor
Connecting Line
Aktor menggunakan use case
Include
Suatu use case seluruhnya merupakan
fungsionalitas use case lainya.
Simbol Keterangan
Status Awal
Status awal aktivitas pada sebuah diagram
aktivitas memiliki sebuah status awal.
Aktivitas
Aktivitas yang dilakukan sistem, aktivitas
8
Penggabungan/ join
2.7 Flowchart
Bagan alur (flowchart) adalah representasi grafis dari algoritma yang
menggunakan simbol-simbol untuk menggambarkan dan menunjukkan urutan
pelaksanaannya (Subowo & Saputra, 2019). Berikut adalah simbol-simbol
flowchart yang disajikan pada tabel 3.
Fungsi
Simbol
Permulaan/akhir program
2.8 Java
Java atau Java Development Kit (JDK) adalah rangkaian perangkat lunak
yang digunakan untuk membuat dan mengembangkan perangkat lunak berbasis
Java. Sedangkan Java Runtime Environment (JRE) merupakan implementasi dari
Java Virtual Machine yang khusus digunakan untuk menjalankan program Java.
Setiap JDK biasanya menyertakan satu atau lebih JRE, bersama dengan banyak alat
pengembangan lainnya seperti kompiler sumber Java, pembuat paket, debugger,
pustaka pengembangan, dan sebagainya (Joni Karman, 2018).
2.9 Internet
Internet "Interconnection-Networking", secara harfiah adalah sistem global
dari jaringan komputer yang saling terhubung menggunakan protokol standar
Internet Protocol Suite (TCP/IP) untuk melayani miliaran pengguna di seluruh
dunia.
Menurut Pratama, "Internet merupakan sistem jaringan dari ribuan bahkan
jutaan komputer yang ada di dunia ini", sementara Oetomo menjelaskan,
"International Network (Internet) adalah sebuah jaringan komputer yang sangat
besar yang terdiri dari jaringan jaringan kecil yang saling terhubung yang
menjangkau seluruh dunia."
2.10 RAD
Rapid Application Development (RAD) adalah model pengembangan
perangkat lunak yang berfokus pada siklus pengembangan dalam waktu yang
singkat, RAD meliputi tiga tahap utama yaitu perencanaan, desain, dan
implementasi. Model ini berfokus pada respon yang cepat terhadap perubahan dan
memungkinkan pengembangan perangkat lunak yang lebih cepat dibandingkan
10
dengan pendekatan tradisional (Mandasari & Kaban, 2022). Berikut adalah model
rapid application development dapat dilihat pada gambar 2.
NO Software Hadware
1
Sistem Operasi Windows 11 Laptop
2
Android Studio Mouse
3
Firebase Printer
4
Bahasa Pemrograman Java Kertas HVS A4
5
Microsoft Office 2013 Smartphone
6
Visio
3.3.1 Perencanaan
Tahap perencanaan yaitu tahap pengumpulan data, yang digunakan untuk
mengidentifikasi kebutuhan pada sistem. Metode pengumpulan data pada
penelitian ini sebagai berikut (Budiarti et al., 2022).
1. Kepustakaan
Kepustakaan ialah kegiatan dengan mempelajari dan menganalisa
semua buku referensi dan bahan penelitian yang berhubungan dengan
masalah yang dibicarakan.
2. Pengamatan (Observasi)
Observasi ialah kegiatan yang untuk mengamati objek penelitian
secara langsung dan memeriksa proses yang tengah berlangsung di
lapangan.
3. Wawancara
Wawancara ialah kegiatan kegiatan tanya jawab kepada pihak yang
bersangkutan atau kepada pihak yang mengetahui informasi.
Apabila data yang dikumpulkan telah diperoleh, maka akan dibuat sebuah
analisis terhadap sistem yang akan dibuat. Adapun analisis dalam pembuatan
rancangan “Aplikasi Ketersedian Ayam Broiler untuk Prodi Teknologi Produksi
Ternak Politeknik Negeri Lampung Berbasis Android” sebagai berikut :
A. Melakukan pengamatan sekaligus wawancara di Prodi Teknologi
Produksi Ternak Politeknik Negeri Lampung yang bertujuan untuk
mengidentifikasi kebutuhan dalam pemeliharaan ayam broiler di
kandang pada saat ini.
B. Sebelumnya, pengelolaan ketersediaan ayam broiler masih dilakukan
dengan kurang efektif. Sehingga untuk mengatasi ketidakefektifitasan
tersebut, maka dibuatlah aplikasi ketersediaan ayam broiler ini untuk
memberikan kemudahan dalam melakukan pengelolaan ketersediaan
ayam broiler pada peternakan.
C. Aplikasi ini, dapat diakses melalui perangkat android. Kemudian,
aplikasi berbasis android ini memberikan informasi tentang
ketersediaan ayam broiler di Prodi Teknologi Produksi Ternak
Politeknik Negeri Lampung.
13
3.3.3 Implementasi
3. Alat Tulis
4. Operasional
14
1 Pengajuan Judul
2 Penyusunan
Laporan
3 Bimbingan
Proposal
4 Seminar Proposal
5 Perbaikan Proposal
6 Coding Program
7 Pengujian Sistem
8 Penyusunan Sistem
9 Penyusunan
Laporan
Ujian Hasil
15
uc use case
use case
Login
masuk aplikasi
menginputkan data
ketersedian
melihat informasi
ketersediaan ayam pada
menu ayam
«include»
Admin Menyimpan hasil
transaksi
Use
keluar aplikasi
Logout
akan diverifikasi oleh database, jika data benar, maka admin berhasil masuk dan
akan masuk pada halaman dashboard admin dan jika gagal maka tetap berada di
halaman login sampai admin memasukan akun admin yang benar. Berikut adalah
Activity login dan logout admin dapat disajikan pada gambar 4.
Login/Logot Admin
Admin Sistem Database
Menampilkan halaman
login
[Tidak]
Login
Aplikasi
Menampilkan username
Veriv ikasi Login
dan passw ord
Menampilkan halaman
Mengklik tombol logout dasboard admin
[berhasil]
Logout
Aplikasi
3. Activity Customer
Activity customer merupakan alur kerja pada aplikasi dengan masuk ke
halaman utama, kemudian customer dapat melihat data ketersediaan ayam broiler
yang telah diinputkan oleh admin di menu info ayam. Apabila customer ingin
melakukan pemesanan dapat mengklik tautan Whatsapp yang tertera pada aplikasi,
sehingga customer dapat mengubungi admin untuk melakukan pemesanan. Berikut
adalah activity customer yang disajikan pada gambar 5.
19
Customer
User Sistem
Menampilkan halaman
utama
Masuk
Aplikasi
melihat ketersediaan
ayam di menu info ayam
Melakukan pemesanan
dengan mengklik tautan
w hatsapp yang tertera
pada aplikasi
Keluar
Aplikasi
4. Activity Admin
Activity admin merupakan alur kerja pada aplikasi dengan masuk ke
halaman dasboard admin. Pada halaman ini admin dapat melakukan pengelolaan
data seperti insert, update, dan delete data ketersediaan ayam broiler. Kemudian
hasil inputan admin akan ditampilkan pada halaman info ayam. Berikut adalah
activity admin yang disajikan pada gambar 6.
20
Admin
Menampilkan halaman
dasboard admin
Login
Aplikasi
Menampilkan data
ketersediaan ayam yang
terbaru
Logout
Aplikasi
a. Flowchart admin
Flowchart admin menjelaskan proses admin dalam aplikasi, yang dimulai
dengan admin melakukan login dengan menginputkan username dan Password
untuk masuk ke dalam dashbord admin. Dimana pada halaman admin, admin dapat
melakukan pengelolaan data ketersediaan ayam seperti insert, update, dan delete.
Berikut adalah flowchart admin yang disajikan pada gambar 9.
b. Flowchart customer
Flowchart customer menjelaskan proses customer dalam aplikasi, Dimana
customer dapat melihat informasi ketersediaan ayam pada aplikasi dengan masuk
ke ke menu info ayam untuk melihat data ketersedian ayam tersebut dan didalam
menu tersebut terdapat tombol Whatsapp yang dimana ketika diklik akan masuk
ke Whatsapp admin untuk melakukan pemesanan ayam. Berikut adalah flowchart
customer yang disajikan pada gambar 10.
a. MainActivity.java
Kelas MainActivity adalah halaman utama aplikasi dimana terdapat
beberapa menu seperti info ayam, info aplikasi, dan login Admin. pada masing-
masing menu terdapat perintah
private void openInfoAyamActivity() {
startActivity(intent);
package com.example.applicationchicken;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
24
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1.setOnClickListener(new View.OnClickListener() {
@Override
openInfoAyamActivity();
});
25
button2.setOnClickListener(new View.OnClickListener() {
@Override
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
openLoginAdminActivity();
});
startActivity(intent);
startActivity(intent);
}
26
startActivity(intent);
b. ActivityLogin.java
databaseReference = FirebaseDatabase.getInstance().getReference("login");
// Temukan tampilan
_siginUsername = findViewById(R.id.sigin_username);
_siginPassword = findViewById(R.id.sigin_password);
loginButton = findViewById(R.id.sigin_button);
sintaks diatas digunakan untuk memanggil data dari firebase realtime database agar
dapat mengakses menu login tersebut.
package com.example.applicationchicken.activities;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
27
import com.example.applicationchicken.R;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
// Temukan tampilan
_siginUsername = findViewById(R.id.sigin_username);
_siginPassword = findViewById(R.id.sigin_password);
loginButton = findViewById(R.id.sigin_button);
databaseReference.child(username).addListenerForSingleValueEvent(n
ew ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
// Data pengguna berhasil dibaca
String storedPassword =
dataSnapshot.child("password").getValue(String.class);
String role =
dataSnapshot.child("role").getValue(String.class);
29
@Override
public void onCancelled(DatabaseError databaseError) {
// Gagal membaca data pengguna
Toast.makeText(ActivityLogin.this, "Gagal membaca data
pengguna", Toast.LENGTH_SHORT).show();
}
});
30
}
}
4.3 Implementasi
Tahap implementasi adalah tahap penerapan dari hasil analisis yang
diterapkan ke dalam bahasa komputer. Bahasa yang digunakan dalam
pemrograman sistem ini adalah bahasa java. Berikut adalah implementasi dari
Aplikasi Ketersediaan Ayam Broiler Untuk Prodi Teknologi Produksi Ternak
Politeknik Negeri Lampung Berbasis Android.
8. Tampilan Edit
Tampilan edit adalah halaman yang disediakan untuk admin melakukan
perubahan dan memperbarui informasi terkait data ayam yang telah dimasukkan ke
dalam sistem. Pada halaman ini, admin dapat mengakses formulir yang telah di isi
sebelumnya dengan data yang sudah ada, sehingga admin dapat dengan mudah
melakukan pembaruan dan mengedit bagian yang perlu diperbarui. Setelah
perubahan selesai, admin dapat menyimpan data yang sudah diperbarui ke dalam
sistem dan hasil data yang telah diperbarui ditampilkan pada halaman admin
Berikut adalah tampilan halaman edit yang disajikan pada gambar 18.
38
9. Tampilan Logout
Tampilan Logout Admin adalah halaman yang disediakan untuk admin
mengakhiri sesinya sebagai admin dan kembali ke halaman awal aplikasi. Berikut
adalah tampilan logout yang disajikan pada gambar 19.
39
4.4 Pengujian
Tahap pengujian adalah langkah terakhir dalam metode pengembangan
sistem, dilakukan untuk memastikan bahwa aplikasi ketersediaan ayam broiler
berbasis Android ini dapat digunakan secara menyeluruh dan sesuai dengan
kebutuhan penggunaan untuk menampilkan informasi ketersediaan ayam.
1. Metode Pengujian
Metode pengujian yang diterapkan adalah black box testing, dimana aplikasi
dieksekusi tanpa perlu memperhatikan detail internalnya. Pendekatan ini, berfokus
pada pengamatan hasil yang dihasilkan dari operasi aplikasi untuk memastikan
kinerjanya sesuai dengan yang diharapkan.
2. Hasil Pengujian
Aspek-aspek yang diuji dalam aplikasi melibatkan beberapa elemen kunci
untuk memastikan kualitas dan performa aplikasi. Berikut adalah aspek yang diuji
dalam pengembangan aplikasi meliputi:
1. Fungsional
40
BAB V. PENUTUP
5.1 Kesimpulan
Aplikasi Ketersediaan Ayam Broiler Berbasis Android merupakan solusi di
era digital untuk membantu dalam penyampaian informasi ketersedian ayam broiler
berbasis android. Aplikasi ini dapat melakukan perubahan informasi ketersedian
ayam dimana saja dan kapan pun.
Aplikasi ketersediaan ayam broiler ini mempermudah pengguna dalam
melihat ketersedian ayam broiler dengan lebih detail dan transparansi, serta
mempermudah admin dalam menyimpan data ketersedian ayam secara digital yang
disimpan dalam database secara real-time. Meskipun sudah banyak teknologi
seperti ini diluar sana, namun disini masih sedikit yang menggunakan teknologi
tersebut.
5.2 Saran
Penerapan Aplikasi Ketersediaan Ayam Broiler Untuk Prodi Teknologi
Produksi Ternak Politeknik Negeri Lampung Berbasis android dapat berjalan
dengan baik dengan beberapa hal yang perlu di lakukan yaitu.
1) Admin/mahasiswa perlu memberikan informasi secara valid dan real
time.
2) Admin/mahasiswa perlu mengetahui dan mempelajari alur sistem yang
dibuat.
3) Aplikasi perlu dikembangkan untuk melakukan pemesanan langsung di
aplikasi dari sisi client.
43
DAFTAR PUSTAKA
Afyenni, R. 2014. (2014). Perancangan Data Flow Diagram untuk Sistem Informasi
Sekolah (Studi Kasus Pada SMA Pembangunan Laboratorium UNP). Teknoif,
2(1), 35–39.
Anissa, R. N., & Prasetio, R. T. (2021). Rancang Bangun Aplikasi Penerimaan
Siswa Baru Berbasis Web Menggunakan Framework Codeigniter. Jurnal
Responsif : Riset Sains Dan Informatika, 3(1), 122–128.
https://doi.org/10.51977/jti.v3i1.497
Aprianti, W., & Maliha, U. (2016). Sistem Informasi Kepadatan Penduduk
Kelurahan Atau Desa Studi Kasus Pada Kecamatan Bati-Bati. 2(2013), 21–
28.
Budiarti, S. F., Sabella, B., & Hafizd, K. A. (2022). Pegelolaan Data Dan Histori
Pengguna Untuk Pengembangan Sistem Informasi Berkah Bersama Berbasis
Website. METHOMIKA Jurnal Manajemen Informatika Dan Komputerisasi
Akuntansi, 6(6), 226–233. https://doi.org/10.46880/jmika.vol6no2.pp226-233
Christiana Simanjuntak, M., Studi Peternakan, P., & Pertanian dan Peternakan, F.
(2018). Analisis Usaha Ternak Ayam Broiler Di Peternakan Ayam Selama
Satu Kali Masa Produksi. Jurnal Fapertanak, III, 60–81.
Dahlan, M., & Hudi, N. (2011). Jurnal Ternak, Vol. 02, No. 01, Juni 2011. Jurnal
Ternak, 02(01), 24–29.
Fani, R. H., Surya, I., & Adin Saf, M. R. (2018). Rancang Bangun Sistem
Manajemen Budidaya Ayam Broiler Berbasis Web Menggunakan Metode
Prototyping. Jurnal Sistem Dan Teknologi Informasi (JUSTIN), 6(4), 146.
https://doi.org/10.26418/justin.v6i4.26957
Fani, R. H., Surya, I., Ro, M., Umban, J., Patin, S., Sari, U., & Pekanbaru, K. (2018).
26957-75676590763-2-Pb. 6(4), 150–156.
Hanafi, B., & Purba, R. D. H. (2021). Perancangan Enterprise Architecture Dengan
Modified Togaf Adm Pada PT Ilmu Komputercom Braindevs Sistema.
Journal of Information System, Informatics and Computing, 5(2), 222–231.
https://doi.org/10.52362/jisicom.v5i2.603
Haryanto, D., & Argadila, D. (2019). Sistem Informasi Pengarsipan Data
Konsumen Di Pt. Dinasti Pertiwi “Perumahan Dewasari.” Jurnal Teknik
Informatika, 7(1), 1–6.
Joni Karman, A. T. M. (2018). Sistem Informasi Geografis Lokasi Pemetaan Masjid
Berbasis Android Kota Lubuklinggau. LIS Liga Ilmu Serantau, 42–50.
M.Teguh, Komputer, J. T., Harapan, P., & Tegal, B. (2018). 464573-None-
B924D04D Uml Peng. 03(01), 126–129
Mandasari, M., & Kaban, R. (2022). Perancangan Sistem Informasi Perpustakaan
44
LAMPIRAN-LAMPIRAN
Kode Program
MainActivity.java
package com.example.applicationchicken.activities;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
import com.example.applicationchicken.R;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1.setOnClickListener(new View.OnClickListener() {
46
@Override
public void onClick(View v) {
openInfoAyamActivity();
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {openInfoAplikasiActivity();
}
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openLoginAdminActivity();
}
});
}
private void openInfoAyamActivity() {
Intent intent = new Intent(this, ActivityAyam.class);
startActivity(intent);
}
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:background="@drawable/bggayam"
tools:context=".MainActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:gravity="center">
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
48
android:layout_height="60dp"
android:text="Info Ayam"
android:textSize="20dp"
android:textStyle="bold"
android:layout_marginTop="170dp" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="60dp"
android:textSize="20dp"
android:textStyle="bold"
android:text="@string/InfoAplikasi"
android:layout_below="@+id/button1" />
<Button
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="60dp"
android:textSize="20dp"
android:textStyle="bold"
android:text="Login Admin"
android:layout_below="@+id/button2" />
</RelativeLayout>
</RelativeLayout>
ActivityLogin.java
package com.example.applicationchicken.activities;
49
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.example.applicationchicken.R;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
50
// Temukan tampilan
_siginUsername = findViewById(R.id.sigin_username);
_siginPassword = findViewById(R.id.sigin_password);
loginButton = findViewById(R.id.sigin_button);
databaseReference.child(username).addListenerForSingleValueEvent(new
ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
// Data pengguna berhasil dibaca
String storedPassword =
dataSnapshot.child("password").getValue(String.class);
String role = dataSnapshot.child("role").getValue(String.class);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Gagal membaca data pengguna
Toast.makeText(ActivityLogin.this, "Gagal membaca data
pengguna", Toast.LENGTH_SHORT).show();
}
});
}
}
Activity_login.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:background="@drawable/bgayam1"
tools:context=".activities.ActivityLogin">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
53
android:layout_margin="30dp"
app:cardCornerRadius="30dp"
app:cardElevation="20dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center_horizontal"
android:padding="30dp"
android:background="@drawable/green_border">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Login"
android:textColor="@color/green"
android:textSize="35dp"
android:textStyle="bold"
android:textAlignment="center"/>
<EditText
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/sigin_username"
android:background="@drawable/green_border"
android:layout_marginTop="30dp"
android:padding="8dp"
54
android:hint="Username"
android:drawableLeft="@drawable/baseline_person_outline_24"
android:drawablePadding="8dp"
android:textColor="@color/black"/>
<EditText
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/sigin_password"
android:background="@drawable/green_border"
android:layout_marginTop="30dp"
android:padding="6dp"
android:hint="Password"
android:inputType="textPassword"
android:drawableLeft="@drawable/baseline_lock_24"
android:drawablePadding="8dp"
android:textColor="@color/black"/>
<Button
android:layout_width="match_parent"
android:layout_height="60dp"
android:text="Login"
android:id="@+id/sigin_button"
android:textSize="18sp"
android:layout_marginTop="10dp"
app:cornerRadius="20dp"/>
</LinearLayout>
55
</androidx.cardview.widget.CardView>
</LinearLayout>
DataModel.java
package com.example.applicationchicken.model;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
this.kategori = kategori;
return berat;
}
this.stok = stok;
}
ActivityTambahData.java
package com.example.applicationchicken.activities;
58
import android.annotation.SuppressLint;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import com.example.applicationchicken.R;
import com.example.applicationchicken.model.DataModel;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tambah_data);
etBerat = findViewById(R.id.et_berat);
etHarga = findViewById(R.id.et_harga);
etStok = findViewById(R.id.et_stok);
spKategori = findViewById(R.id.sp_kategori);
btSubmit = findViewById(R.id.bt_submit);
btClear = findViewById(R.id.bt_clear);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdo
wn_item);
spKategori.setAdapter(adapter);
60
btSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
sendDataToFirebase();
}
});
btClear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
clearInputFields();
}
});
}
if (key != null) {
// Set keterangan waktu pada dataModel sebelum dikirim
dataModel.setWaktu(getCurrentTime());
databaseReference.child(key).setValue(dataModel)
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
// Tampilkan pesan sukses atau notifikasi kepada pengguna
Toast.makeText(ActivityTambahData.this, "Data berhasil
ditambahkan", Toast.LENGTH_SHORT).show();
// Setelah sukses, kembali ke ActivityAdmin
finish();
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// Tampilkan pesan kesalahan atau notifikasi kepada
pengguna
Toast.makeText(ActivityTambahData.this, "Gagal
menambahkan data. " + e.getMessage(), Toast.LENGTH_SHORT).show();
}
});
} else {
62
// Metode untuk mendapatkan waktu saat ini dalam format yang diinginkan
private String getCurrentTime() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd
HH:mm:ss", Locale.getDefault());
return sdf.format(new Date());
}
@SuppressLint("MissingSuperCall")
@Override
public void onBackPressed() {
showCancelConfirmationDialog();
}
Activity_tambah_data.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
64
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".activities.ActivityTambahData">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/green_border"
android:padding="16dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:background="@color/green"
android:gravity="center"
android:padding="20dp"
65
<TextView
android:id="@+id/tv_kategori"
android:layout_width="367dp"
android:layout_height="50dp"
android:layout_marginTop="128dp"
android:paddingLeft="15dp"
android:text="kategori"
android:textSize="20sp"
android:textStyle="bold" />
<Spinner
android:id="@+id/sp_kategori"
android:layout_width="287dp"
android:layout_height="38dp"
android:layout_marginLeft="160dp"
android:layout_marginTop="135dp"
android:padding="20dp"></Spinner>
<TextView
android:id="@+id/tv_berat"
android:layout_width="367dp"
android:layout_height="50dp"
android:layout_below="@id/tv_kategori"
66
android:layout_marginTop="5dp"
android:paddingLeft="15dp"
android:text="Berat Ayam"
android:textSize="20sp"
android:textStyle="bold" />
<EditText
android:id="@+id/et_berat"
android:layout_width="287dp"
android:layout_height="38dp"
android:layout_marginLeft="160dp"
android:layout_marginTop="186dp"
android:hint="@string/berat_ayam"
android:inputType="text"
android:paddingRight="15dp"
android:textSize="12dp" />
<TextView
android:id="@+id/tv_harga"
android:layout_width="367dp"
android:layout_height="50dp"
android:layout_below="@id/tv_berat"
android:layout_marginTop="5dp"
android:paddingLeft="15dp"
android:text="Harga"
android:textSize="20sp"
android:textStyle="bold" />
<EditText
67
android:id="@+id/et_harga"
android:layout_width="357dp"
android:layout_height="wrap_content"
android:layout_marginLeft="160dp"
android:layout_marginTop="245dp"
android:hint="@string/harga_ayam"
android:inputType="text"
android:paddingRight="15dp"
android:textSize="12dp" />
<TextView
android:id="@+id/tv_stok"
android:layout_width="367dp"
android:layout_height="50dp"
android:layout_below="@id/tv_harga"
android:layout_marginTop="5dp"
android:paddingLeft="15dp"
android:text="Stok"
android:textSize="20sp"
android:textStyle="bold" />
<EditText
android:id="@+id/et_stok"
android:layout_width="357dp"
android:layout_height="wrap_content"
android:layout_marginLeft="160dp"
android:layout_marginTop="300dp"
android:hint="@string/stok_ayam"
android:inputType="text"
68
android:paddingRight="15dp"
android:textSize="12dp" />
<Button
android:id="@+id/bt_clear"
android:layout_width="110dp"
android:layout_height="wrap_content"
android:layout_marginLeft="40dp"
android:layout_marginTop="387dp"
android:text="clear" />
<Button
android:id="@+id/bt_submit"
android:layout_width="110dp"
android:layout_height="wrap_content"
android:layout_marginLeft="165dp"
android:layout_marginTop="387dp"
android:text="submit" />
</RelativeLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
69
Jawab : masih manual atau masih menggunakan kertas dalam pencatatan data
ayam broiler
Jawab : Kelemahan pada sistem manual ini sangat rentan terhadap potensi
kehilangan data yang dapat terjadi akibat pencatatan yang dilakukan secara manual.
Selain itu, proses pencatatan yang memerlukan kehadiran langsung di kandang dan
hanya dapat dilakukan pada waktu tertentu menjadi kendala signifikan dalam
efisiensi dan ketersediaan informasi.
3. Apakah menurut kamu sistem yang berjalan saat ini sudah efisien?
Jawab : Dari pendapat saya sebagai salah satu mahasiswa, sistem yang sedang
berjalan saat ini terlihat kurang efektif. Seiring perkembangan zaman yang semakin
maju, adanya berbagai teknologi yang dapat mempermudah proses pencatatan, saya
percaya bahwa prodi kami dapat mendapatkan manfaat besar dari integrasi solusi
yang lebih canggih dan modern.
70
LEMBAR PENGUJIAN
APLIKASI KETERSEDIAAN AYAM BROILER UNTUK PRODI
TEKNOLOGI PRODUKSI TERNAK POLITEKNIK NEGERI LAMPUNG
BERBASIS ANDROID
LEMBAR PENGUJIAN
APLIKASI KETERSEDIAAN AYAM BROILER UNTUK PRODI
TEKNOLOGI PRODUKSI TERNAK POLITEKNIK NEGERI LAMPUNG
BERBASIS ANDROID
Dedi Surahmin
Mahasiswa Manajemen Informati
74
LEMBAR PENGUJIAN
APLIKASI KETERSEDIAAN AYAM BROILER UNTUK PRODI
TEKNOLOGI PRODUKSI TERNAK POLITEKNIK NEGERI LAMPUNG
BERBASIS ANDROID
LEMBAR PENGUJIAN
APLIKASI KETERSEDIAAN AYAM BROILER UNTUK PRODI
TEKNOLOGI PRODUKSI TERNAK POLITEKNIK NEGERI LAMPUNG
BERBASIS ANDROID
Wahyuni Elvira
Mahasiswa STIT Darul Fatah Bandar Lampung