TUGAS AKHIR MATA KULIAH MOBILE PROGRAMMING
PANGGIL DOKTER
Dosen : Salman Alfarizi, M.Kom.
Kelompok 2
1. Dewi Sartika 12210324 2. Jesika Lumban Batu 12210719
3. Nina Amelina 12210458
4. Siti Qoriah Ambarwati 12210533 5. Anggi Dwi Prananca 12210329
PROGRAM STUDI SISTEM INFORMASI FAKULTAS TEKNIK INFORMATIKA UNIVERSITAS BINA SARANA INFORMATIKA
2023
i
KATA PENGANTAR
Puji syukur kami panjatkan kepada Tuhan yang Maha Esa, karena atas kehendaknya kami dapat menyelesaikan makalah ini tepat pada waktunya. Dalam makalah ini kami membahas tentang Perancangan Program Panggil Dokter. Makalah ini dibuat dalam rangka memenuhi Tugas Akhir Semester pada mata kuliah Analisa Perancangan Sistem Informasi.
Semoga makalah ini dapat dipergunakan sebagai salah satu acuan, petunjuk maupun pedoman bagi pembaca. Harapan kami semoga makalah ini dapat membantu menambah pengetahuan bagi para pembaca.
Dalam kesempatan ini juga kami mengucapkan banyak terimakasih kepada Bapak Salman Alfarizi, M.Kom selaku dosen pengampu Mata Kuliah Mobile Programming , terima kasih juga atas kerja sama serta kekompakkan dari kelompok 2 ( dua ) ini sehingga kita mampu menyelesaikan makalah ini.
Kami menyadari bahwa masih banyak kekurangannya, oleh karena itu kami harapkan kepada para pembaca untuk memberikan masukan – masukan yang bersifat membangun untuk kesempurnaan makalah ini. Sehingga kami dapat memperbaiki bentuk maupun isi makalah ini sehingga kedepannya dapat lebih baik. Demikian makalah ini kami buat semoga memberikan manfaat bagi yang membaca.
Karawang, 26 Juni 2023 Penyusun
Kelompok 2
ii DAFTAR ISI
KATA PENGANTAR ... i
DAFTAR ISI ... ii
DAFTAR GAMBAR ... iii
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Landasan Teori... 2
BAB II PEMBAHASAN ... 4
2.1 Mekanisme Penggunaan Aplikasi ... 4
2.2 Desain Implementasi ... 4
2.3 Source Code Aplikasi ... 9
BAB III PENUTUP ... 29
DAFTAR PUSTAKA ... 30
iii
DAFTAR GAMBAR
Gambar 2. 1 Halaman Awal ... 4
Gambar 2. 2 Halaman Daftar ... 5
Gambar 2. 3 Halaman Masuk ... 5
Gambar 2. 4 Halaman Beranda... 6
Gambar 2. 5 Detail Dokter ... 6
Gambar 2. 6 Halaman Menu Chat ... 7
Gambar 2. 7 Dokter ... 7
Gambar 2. 8 Halaman Jadwal Dokter ... 8
Gambar 2. 9 Pengaturan ... 8
1 BAB I PENDAHULUAN
1.1 Latar Belakang
Dimulai dengan perubahan yang signifikan dalam industri perawatan kesehatan dan perkembangan teknologi.dan juga seiring dengan pertumbuhan populasi, macam penyakit, dan kesibukan sehari-hari, banyak orang mengalami kesulitan untuk mendapatkan akses ke perawatan medis yang tepat dan waktu yang efektif.
Singkatnya, pasien harus mengunjungi pusat kesehatan atau mengatur janji temu dengan dokter untuk mendapatkan perawatan medis. Namun, proses ini sering kali memakan waktu, memerlukan perjalanan, dan membatasi ketersediaan dokter, terutama di daerah yang terpencil atau padat penduduk.
Dalam beberapa tahun terakhir, teknologi telekomunikasi telah memungkinkan kemunculan aplikasi layanan Janji Dokter. Aplikasi ini memberikan solusi yang inovatif dengan menghubungkan pasien dengan dokter melalui telepon, pesan teks, atau bertemu langsung. Dengan bantuan teknologi ini, pasien dapat dengan mudah menghubungi dan berkomunikasi dengan dokter yang sesuai dengan kebutuhan mereka, tanpa harus meninggalkan rumah mereka.
Ada beberapa faktor yang mendorong pengembangan aplikasi layanan Janji dokter:
1. Kemajuan Teknologi: Kemajuan dalam teknologi telekomunikasi dan konektivitas internet memungkinkan komunikasi medis jarak jauh dengan kualitas yang baik. Hal ini memungkinkan pasien untuk berkonsultasi dengan dokter tanpa harus secara fisik hadir di tempat praktik dokter.
2. Ketersediaan Dokter: Beberapa daerah, terutama di pedesaan atau daerah terpencil, mungkin kekurangan tenaga medis atau memiliki akses terbatas ke fasilitas kesehatan. Aplikasi layanan janji dokter dapat membantu mengatasi masalah ini dengan menyediakan akses ke dokter melalui telekomunikasi.
3. Efisiensi Waktu: Dalam kehidupan yang sibuk, banyak orang mengalami
kesulitan menemukan waktu untuk pergi ke pusat kesehatan atau menunggu janji
temu dengan dokter. Aplikasi layanan janji dokter memungkinkan pasien untuk
2
dengan cepat berkonsultasi dengan dokter tanpa harus menghabiskan waktu untuk perjalanan atau menunggu di ruang tunggu.
4. Penanganan Awal dan Pencegahan: Aplikasi ini juga memungkinkan pasien untuk mendapatkan nasihat medis awal untuk masalah kesehatan yang mungkin tidak memerlukan kunjungan fisik langsung ke dokter. Hal ini dapat membantu dalam pencegahan penyakit atau identifikasi dini kondisi yang lebih serius.
5. Kemudahan Akses: Aplikasi layanan janji dokter menawarkan kemudahan akses bagi pasien dengan mobilitas terbatas, orang tua yang membutuhkan perawatan khusus, atau mereka yang tinggal di daerah yang jauh dari fasilitas medis terdekat.
Dengan demikian, aplikasi layanan janji dokter memberikan solusi inovatif untuk meningkatkan layanan kesehatan terhadap masyarakat.
1.2 Landasan Teori
Pengertian Sistem Informasi
Sistem informasi adalah proses mengumpulkan, memproses, menganalisis, dan menyebarkan informasi untuk tujuan tertentu menurut
R. Kelly Rainer & Casey G.Cegielski
(2014:6),
Sedangkan menurut O’brien (2011:62) Sistem informasi adalah suatu kombinasi teratur apapun baik dari people, hardware, software,maupun database yang mengumpulkan,mengubah,dan menyebarkan informasi di dalam suatu bentuk organisasi.
Pengertian Aplikasi Mobile
Aplikasi Mobile Aplikasi mobile terdiri atas dua kata, yakni aplikasi dan mobile. Aplikasi merupakan program yang siap pakai dalam menjalankan perintah pengguna terhadap pemrosesan data yang diinginkan sehingga menghasilkan sebuah input dan output sesuai dengan harapan, sedangkan mobile adalah perpindahan dari satu tempat ke tempat yang lain. Secara lebih lengkap, aplikasi mobile merupakan program siap pakai yang melakukan fungsi tertentu yang dipasang pada perangkat mobile M.Siregar, (2016).
Turban (2012:277), Aplikasi Mobile juga biasa disebut dengan mobile
apps, yaitu istilah yang digunakan untuk medeskripsikan aplikasi internet yang
3
berjalan pada smartphone atau piranti mobile lainnya. Aplikasi mobile biasanya membantu para penggunanya untuk terkoneksi dengan layanan internet yang biasa.
diakses pada PC atau mempermudah mereka untuk menggunakan aplikasi internet pada piranti yang bisa dibawa.
Pengertian Android
Menurut Ir. Yuniar Supardi (2017 : 1) Android adalah “sebuah sistem operasi perangkat mobile berbasis linux yang mencakup sistem operasi, middleware, dan aplikasi.”
Menurut Yosef Murya (2014 : 3) Android adalah “sistem operasi berbasis linux
yang di gunakan untuk telepon seluler (mobile) seperti telepon pintar (smartphone)
dan komputer tablet (PDA).”
4 BAB II
LANDASAN TEORI
2.1 Mekanisme Penggunaan Aplikasi
1. Pertama user mendaftarkan akun yaitu dengan mengklik “Buat Akun” dengan mengisi data seperti nama,alamat,email dan password.Setelah akun terdaftar user dapat masuk ke aplikasi dengan mengisi username dan password lalu klik
“Masuk”.
2. Kemudian akan muncul halaman beranda.Pada halaman Beranda tersebut akan ada beberapa Dokter populer dan spesialisasi dari dokter tersebut.
3. Apabila user ingin konsultasi dengan dokter nya maka user dapat meng klik tombol “Chat” .Nanti nya akan muncul dokter sesuai dengan spesialisasi nya.User dapat memilih dokter yang diinginkan dan memulai chat (konsultasi).
4. Kemudian Ketika mengklik tombol “Jadwal” maka akan muncul jadwal dari dokter dokter yang di inginkan oleh user . Dan apabila user ada urusan mendadak sehingga tidak dapat konsultasi dengan dokter yang telah dijadwalkan, maka user dapat menjadwalkan ulang konsultasi yaitu dengan meng klik “Reschedule”.
5. Dan yang terakhir adalah “Pengaturan” dimana pada halaman pengaturan user dapat melihat profile,notifikasi, dan juga keluar dari aplikasi tersebut jika sudah selesai menggunakan aplikasi tersebut
2.2 Desain Implementasi A. Halaman Awal
Gambar 2. 1 Halaman awal
5 B. Halaman Daftar
C. Halaman Masuk
Gambar 2. 2 Halaman Daftar
Gambar 2. 3 Halaman Masuk
6 D. Halaman Beranda
E. Halaman Detail Dokter
Gambar 2. 4 Halaman Beranda
Gambar 2. 5 Detail Dokter
7 F. Halaman Menu Chat
G. Halaman Detail Chat Dokter
Gambar 2. 6 Halaman Menu Chat
Gambar 2. 7 Dokter
8 I. Halaman Menu Jadwal Dokter
J. Halaman Menu Pengaturan
Gambar 2. 8 Halaman Jadwal Dokter
Gambar 2. 9 Pengaturan
9 2.3 Source Code Aplikasi
Main.dart
import 'package:flutter/material.dart';
import 'package:healthcare/ui/welcome_screen.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget { const MyApp({super.key});
// This widget is the root of your application.
@override
Widget build(BuildContext context) { return MaterialApp(
debugShowCheckedModeBanner: false, home: WelcomeScreen(),
);
} }
Navbar.dart
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:healthcare/ui/beranda.dart';
import 'package:healthcare/ui/messages.dart';
import 'package:healthcare/ui/jadwal.dart';
import 'package:healthcare/ui/pengaturan.dart';
class NavBarRoots extends StatefulWidget { @override
State<NavBarRoots> createState() => _NavBarRootsState();
}
class _NavBarRootsState extends State<NavBarRoots> { int _selectedIndex = 0;
final _screens = [ Beranda(),
Message(), JadwalDokter(), Pengaturan(), ];
10
@override
Widget build(BuildContext context) { return Scaffold(
backgroundColor: Colors.white, body: _screens[_selectedIndex], bottomNavigationBar: Container(
height: 80,
child: BottomNavigationBar(
backgroundColor: Colors.white,
type: BottomNavigationBarType.fixed, selectedItemColor: Color(0xFF7165D6), unselectedItemColor: Colors.black26, selectedLabelStyle: TextStyle(
fontWeight: FontWeight.bold, fontSize: 15,
),
currentIndex: _selectedIndex, onTap: (index) {
setState(() {
_selectedIndex = index;
});
},
items: [
BottomNavigationBarItem(
icon: Icon(Icons.home_filled), label: "Beranda"), BottomNavigationBarItem(
icon: Icon(
CupertinoIcons.chat_bubble_text_fill, ),
label: "Chat"), BottomNavigationBarItem(
icon: Icon(Icons.calendar_month_outlined), label:
"Jadwal"),
BottomNavigationBarItem(
icon: Icon(Icons.settings), label: "Pengaturan"), ],
), ), );
} }
11 Beranda.dart
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:healthcare/model/dokterdatamodel.dart';
import 'package:healthcare/ui/detail_dokter.dart';
class Beranda extends StatefulWidget {
const Beranda({Key? key}) : super(key: key);
@override
_BerandaState createState() => _BerandaState();
}
class _BerandaState extends State<Beranda> {
List symptoms = ["Temperature", "Pilek", "Demam", "Batuk", "Meriang"];
List imgs = ["doctor1.jpg", "doctor2.jpg", "doctor3.jpg", "doctor4.jpg"];
List doctors = ["dr. SQA", "dr. JLB", "dr. ADP", "dr. DS"];
List spesialis = ["Gigi", "Penyakit Dalam", "Umum", "Ortopedi"];
@override
Widget build(BuildContext context) { return SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.only(top: 40), child: Column(
crossAxisAlignment: CrossAxisAlignment.start, children: [
Padding(
padding: const EdgeInsets.symmetric(horizontal: 15), child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [
Text(
"Hello Nina Amelina", style: TextStyle(
fontSize: 35,
fontWeight: FontWeight.w500, ),
),
CircleAvatar(
radius: 25,
backgroundImage: AssetImage("images/user.jpg"), ),
12
], ), ),
SizedBox(height: 30), Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [
InkWell(
onTap: () {}, child: Container(
padding: EdgeInsets.all(20), decoration: BoxDecoration(
color: Color(0xFF7165D6),
borderRadius: BorderRadius.circular(10), boxShadow: [
BoxShadow(
color: Colors.black12, blurRadius: 6,
spreadRadius: 4, ),
], ),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start, children: [
Container(
padding: EdgeInsets.all(8), decoration: BoxDecoration(
color: Colors.white, shape: BoxShape.circle, ),
child: Icon(
Icons.add,
color: Color(0xFF7165D6), size: 35,
), ),
SizedBox(height: 30), Text(
"Mengunjungi Klinik", style: TextStyle(
fontSize: 18,
color: Colors.white,
fontWeight: FontWeight.w500, ),
),
SizedBox(height: 5),
13
Text(
"Buat Janji Temu", style: TextStyle(
color: Colors.white54, ),
), ], ), ), ),
InkWell(
onTap: () {}, child: Container(
padding: EdgeInsets.all(20), decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10), boxShadow: [
BoxShadow(
color: Colors.black12, blurRadius: 6,
spreadRadius: 4, ),
], ),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start, children: [
Container(
padding: EdgeInsets.all(8), decoration: BoxDecoration(
color: Color(0xFFF0EEFA), shape: BoxShape.circle, ),
child: Icon(
Icons.home_filled,
color: Color(0xFF7165D6), size: 35,
), ),
SizedBox(height: 30), Text(
"Kunjungan Rumah", style: TextStyle(
fontSize: 18,
color: Colors.black,
fontWeight: FontWeight.w500,
14
), ),
SizedBox(height: 5), Text(
"Panggil Dokter ke Rumah", style: TextStyle(
color: Colors.black54, ),
), ], ), ), ), ], ),
SizedBox(height: 25), Padding(
padding: const EdgeInsets.only(left: 15), child: Text(
"Apa Gejala Anda?", style: TextStyle(
fontSize: 23,
fontWeight: FontWeight.w500, color: Colors.black54,
), ), ),
SizedBox(
height: 70,
child: ListView.builder(
shrinkWrap: true,
scrollDirection: Axis.horizontal, itemCount: symptoms.length,
itemBuilder: (context, index) { return Container(
margin: EdgeInsets.symmetric(horizontal: 15, vertical:
10),
padding: EdgeInsets.symmetric(horizontal: 25), decoration: BoxDecoration(
color: Color(0xFFF4F6FA),
borderRadius: BorderRadius.circular(10), boxShadow: [
BoxShadow(
color: Colors.black12, blurRadius: 4,
spreadRadius: 2, ),
15
], ),
child: Center(
child: Text(
symptoms[index], style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w500, color: Colors.black54,
), ), ), );
}, ), ),
SizedBox(height: 15), Padding(
padding: const EdgeInsets.only(left: 15), child: Text(
"Dokter Terpopuler", style: TextStyle(
fontSize: 23,
fontWeight: FontWeight.w500, color: Colors.black54,
), ), ),
GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2, ),
itemCount: doctors.length, shrinkWrap: true,
physics: NeverScrollableScrollPhysics(), itemBuilder: (context, index) {
return InkWell(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => DetailDokter(), ));
},
child: Container(
margin: EdgeInsets.all(10),
padding: EdgeInsets.symmetric(vertical: 15),
16
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10), boxShadow: [
BoxShadow(
color: Colors.black12, blurRadius: 4,
spreadRadius: 2, ),
], ),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [
CircleAvatar(
radius: 35, backgroundImage:
AssetImage("images/${imgs[index]}"), ),
Text(
"${doctors[index]}", style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.w500, color: Colors.black54,
), ), Text(
"${spesialis[index]}", style: TextStyle(
color: Colors.black45, ),
), Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center, children: [
Icon(
Icons.star,
color: Colors.amber, ),
Text(
"4.9",
style: TextStyle(
color: Colors.black45, ),
),
17
], ), ], ), ), );
}, ), ], ), ), );
} }
Messages.dart
import 'package:flutter/material.dart';
import 'package:healthcare/ui/chat_screen.dart';
class Message extends StatelessWidget {
final List doctors = ["dr. SQA", "dr. JLB", "dr. ADP", "dr. DS"];
List imgs = [ "doctor1.jpg", "doctor2.jpg", "doctor3.jpg", "doctor4.jpg", "doctor1.jpg", "doctor2.jpg", ];
bool activeStatus = true;
@override
Widget build(BuildContext context) { return SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start, children: [
SizedBox(height: 40), Padding(
padding: EdgeInsets.symmetric(horizontal: 20), child: Text(
"Messages",
style: TextStyle(
fontSize: 28,
fontWeight: FontWeight.bold,
18
), ), ),
SizedBox(height: 30), Padding(
padding: EdgeInsets.symmetric(horizontal: 15), child: Container(
padding: EdgeInsets.symmetric(horizontal: 15), decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10), boxShadow: [
BoxShadow(
color: Colors.black12, blurRadius: 10,
spreadRadius: 2, offset: Offset(0, 3), ),
], ),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [
Container(
width: 300, child: Padding(
padding: EdgeInsets.symmetric(horizontal: 15), child: TextFormField(
decoration: InputDecoration(
hintText: "Search",
border: InputBorder.none, ),
), ), ), Icon(
Icons.search,
color: Color(0xFF113953), ),
], ), ), ),
SizedBox(height: 20), SizedBox(
height: 90,
child: ListView.builder(
19
scrollDirection: Axis.horizontal, itemCount: 6,
shrinkWrap: true,
itemBuilder: (context, index) { return Container(
margin: EdgeInsets.symmetric(horizontal: 12), width: 65,
height: 65,
decoration: BoxDecoration(
shape: BoxShape.circle, color: Colors.white, boxShadow: [
BoxShadow(
color: Colors.black12, blurRadius: 10,
spreadRadius: 2, offset: Offset(0, 3), ),
]),
child: Stack(
textDirection: TextDirection.rtl, children: [
Center(
child: Container(
height: 65, width: 65,
child: ClipRRect(
borderRadius: BorderRadius.circular(30), child: Image.asset(
"images/${imgs[index]}", fit: BoxFit.cover,
), ), ), ),
Container(
margin: EdgeInsets.all(2), padding: EdgeInsets.all(3), height: 20,
width: 20,
decoration: BoxDecoration(
color: Colors.white, shape: BoxShape.circle, ),
child: Container(
decoration: BoxDecoration(
color: Colors.green,
20
shape: BoxShape.circle, ),
), ), ], ), );
}, ), ),
ListView.builder(
physics: NeverScrollableScrollPhysics(), itemCount: doctors.length,
shrinkWrap: true,
itemBuilder: (context, index) { return ListTile(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ChatScreen(), ));
},
leading: CircleAvatar(
radius: 30,
backgroundImage: AssetImage(
"images/${imgs[index]}", ),
),
title: Text(
doctors[index], style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.bold, ),
),
subtitle: Text(
"Hello, Bagaimana Dok? Apakah bisa kerumah?", maxLines: 1,
overflow: TextOverflow.ellipsis, style: TextStyle(
fontSize: 16,
color: Colors.black54, ),
),
trailing: Text(
"12:30",
21
style: TextStyle(fontSize: 15, color: Colors.black54), ),
);
}, ) ], ), );
} }
Jadwal.dart
import 'package:flutter/material.dart';
import 'package:healthcare/widgets/upcoming_schedule.dart';
class JadwalDokter extends StatefulWidget { @override
State<JadwalDokter> createState() => _JadwalDokterState();
}
class _JadwalDokterState extends State<JadwalDokter> { int _buttonIndex = 0;
final _jadwalWidgets = [ UpcomingSchedule(), Container(),
Container(), ];
@override
Widget build(BuildContext context) { return SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.only(top: 40), child: Column(
crossAxisAlignment: CrossAxisAlignment.start, children: [
Padding(
padding: const EdgeInsets.symmetric(horizontal: 15), child: Text(
"Jadwal",
style: TextStyle(
fontSize: 32,
fontWeight: FontWeight.w500, ),
),
22
),
SizedBox(height: 20), Container(
padding: EdgeInsets.all(5),
margin: EdgeInsets.symmetric(horizontal: 10), decoration: BoxDecoration(
color: Color(0xFFF4F6FA),
borderRadius: BorderRadius.circular(10), ),
child: Row(
mainAxisAlignment: MainAxisAlignment.center, children: [
InkWell(
onTap: () { setState(() {
_buttonIndex = 0;
});
},
child: Container(
padding: EdgeInsets.symmetric(vertical: 12, horizontal:
25),
decoration: BoxDecoration(
color: _buttonIndex == 0 ? Color(0xFF7165D6) : Colors.transparent,
borderRadius: BorderRadius.circular(10), ),
child: Text(
"Mendatang", style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w500, color:
_buttonIndex == 0 ? Colors.white : Colors.black38,
), ), ), ),
InkWell(
onTap: () { setState(() {
_buttonIndex = 1;
});
},
child: Container(
23
padding: EdgeInsets.symmetric(vertical: 12, horizontal:
25),
decoration: BoxDecoration(
color: _buttonIndex == 1 ? Color(0xFF7165D6) : Colors.transparent,
borderRadius: BorderRadius.circular(10), ),
child: Text(
"Komplit",
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w500, color:
_buttonIndex == 1 ? Colors.white : Colors.black38,
), ), ), ),
InkWell(
onTap: () { setState(() {
_buttonIndex = 2;
});
},
child: Container(
padding: EdgeInsets.symmetric(vertical: 12, horizontal:
25),
decoration: BoxDecoration(
color: _buttonIndex == 2 ? Color(0xFF7165D6) : Colors.transparent,
borderRadius: BorderRadius.circular(10), ),
child: Text(
"Lengkap",
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w500, color:
_buttonIndex == 2 ? Colors.white : Colors.black38,
), ), ), ),
24
], ), ),
SizedBox(height: 30),
// Widgets According to buttons _jadwalWidgets[_buttonIndex]
], ), ));
} }
Pengaturan.dart
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:healthcare/ui/login_screen.dart';
class Pengaturan extends StatelessWidget { @override
Widget build(BuildContext context) { return Padding(
padding: const EdgeInsets.only(top: 50, left: 20, right: 20), child: Column(
crossAxisAlignment: CrossAxisAlignment.start, children: [
Text(
"Pengaturan", style: TextStyle(
fontSize: 30,
fontWeight: FontWeight.w500, ),
),
SizedBox(height: 15), ListTile(
leading: CircleAvatar(
radius: 30,
backgroundImage: AssetImage("images/user.jpg"), ),
title: Text(
"Nina Amelina", style: TextStyle(
fontWeight: FontWeight.w500, fontSize: 25,
), ),
25
subtitle: Text("Profile"), ),
Divider(height: 40), ListTile(
onTap: () {},
leading: Container(
padding: EdgeInsets.all(10), decoration: BoxDecoration(
color: Colors.blue.shade100, shape: BoxShape.circle, ),
child: Icon(
CupertinoIcons.person, color: Colors.blue, size: 35,
), ),
title: Text(
"Profile",
style: TextStyle(
fontWeight: FontWeight.w500, fontSize: 20,
), ),
trailing: Icon(Icons.arrow_forward_ios_rounded), ),
SizedBox(height: 15), ListTile(
onTap: () {},
leading: Container(
padding: EdgeInsets.all(10), decoration: BoxDecoration(
color: Colors.deepPurple.shade100, shape: BoxShape.circle,
),
child: Icon(
Icons.notifications_none_outlined, color: Colors.deepPurple,
size: 35, ),
),
title: Text(
"Notifikasi", style: TextStyle(
fontWeight: FontWeight.w500, fontSize: 20,
),
26
),
trailing: Icon(Icons.arrow_forward_ios_rounded), ),
SizedBox(height: 15), ListTile(
onTap: () {},
leading: Container(
padding: EdgeInsets.all(10), decoration: BoxDecoration(
color: Colors.indigo.shade100, shape: BoxShape.circle,
),
child: Icon(
Icons.privacy_tip_outlined, color: Colors.indigo,
size: 35, ),
),
title: Text(
"Privasi",
style: TextStyle(
fontWeight: FontWeight.w500, fontSize: 20,
), ),
trailing: Icon(Icons.arrow_forward_ios_rounded), ),
SizedBox(height: 15), ListTile(
onTap: () {},
leading: Container(
padding: EdgeInsets.all(10), decoration: BoxDecoration(
color: Colors.green.shade100, shape: BoxShape.circle,
),
child: Icon(
Icons.settings_suggest_outlined, color: Colors.green,
size: 35, ),
),
title: Text(
"Pengaturan", style: TextStyle(
fontWeight: FontWeight.w500, fontSize: 20,
27
), ),
trailing: Icon(Icons.arrow_forward_ios_rounded), ),
SizedBox(height: 15), ListTile(
onTap: () {},
leading: Container(
padding: EdgeInsets.all(10), decoration: BoxDecoration(
color: Colors.orange.shade100, shape: BoxShape.circle,
),
child: Icon(
Icons.info_outline_rounded, color: Colors.orange,
size: 35, ),
),
title: Text(
"Tentang",
style: TextStyle(
fontWeight: FontWeight.w500, fontSize: 20,
), ),
trailing: Icon(Icons.arrow_forward_ios_rounded), ),
Divider(height: 15), ListTile(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => loginScreen(), ));
},
leading: Container(
padding: EdgeInsets.all(10), decoration: BoxDecoration(
color: Colors.redAccent.shade100, shape: BoxShape.circle,
),
child: Icon(
Icons.info_outline_rounded, color: Colors.redAccent, size: 35,
28
), ),
title: Text(
"Keluar",
style: TextStyle(
fontWeight: FontWeight.w500, fontSize: 20,
), ), ), ], ), );
} }
29 BAB III PENUTUP
3.1 Kesimpulan
Kesimpulan yang dapat diambil dari pelaksanaan Tugas Akhir semester ini adalah dengan adanya Aplikasi Panggil Dokter ini dapat membantu kelancaran pemanggilan Dokter di masyarakat serta dapat membantu keadaan Emergency dikalangan masyarakat.
3.2 Saran
Karena keterbatasan waktu pengerjaan, alangkah baiknya aplikasi mobile ini
dikembangkan lagi sehingga berfungsi secara optimal. Agar dapat berfungsi
sebagaimana mestinya.
30
DAFTAR PUSTAKA
R. Kelly Rainer & Casey G. Cegielski. 2014. Introduction to Information System Enabling and Transforming Business.
J. A. O Brien and G. M. Marakas, Management Information System, 10th Edition ed., P.
Ducham, Ed., New York: McGraw-Hill/Irwin, 2011
M. Siregar And I. Permana, "Rancang Bangun Aplikasi Berbasis Mobile Untuk Navigasi,"
Jurnal Rekayasa Dan Manajemen Sistem Informasi, Vol. 2, No. 1, Pp. 82-94, 2016 Turban, Efraim. Electronic Commerce. 7thGlobal Edition. United Kingdom: Pearson
Education Limited. 2012: 277.
Supardi, Y. Koleksi Program Tugas Akhir dan Skripsi dengan Android. Jakarta : Elex Media Komputindo, 2017
Murya, Yosep. (2014).Pemrograman Android Black Box, Jakarta: Jasakom.