• Tidak ada hasil yang ditemukan

TUGAS AKHIR MATA KULIAH MOBILE PROGRAMMING PANGGIL DOKTER

N/A
N/A
Siti Qoriah Ambarwati

Academic year: 2024

Membagikan "TUGAS AKHIR MATA KULIAH MOBILE PROGRAMMING PANGGIL DOKTER"

Copied!
34
0
0

Teks penuh

(1)

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

(2)

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

(3)

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

(4)

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

(5)

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

(6)

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

(7)

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).”

(8)

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

(9)

5 B. Halaman Daftar

C. Halaman Masuk

Gambar 2. 2 Halaman Daftar

Gambar 2. 3 Halaman Masuk

(10)

6 D. Halaman Beranda

E. Halaman Detail Dokter

Gambar 2. 4 Halaman Beranda

Gambar 2. 5 Detail Dokter

(11)

7 F. Halaman Menu Chat

G. Halaman Detail Chat Dokter

Gambar 2. 6 Halaman Menu Chat

Gambar 2. 7 Dokter

(12)

8 I. Halaman Menu Jadwal Dokter

J. Halaman Menu Pengaturan

Gambar 2. 8 Halaman Jadwal Dokter

Gambar 2. 9 Pengaturan

(13)

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(), ];

(14)

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"), ],

), ), );

} }

(15)

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"), ),

(16)

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),

(17)

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,

(18)

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, ),

(19)

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),

(20)

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, ),

),

(21)

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,

(22)

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(

(23)

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,

(24)

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",

(25)

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, ),

),

(26)

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(

(27)

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,

), ), ), ),

(28)

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,

), ),

(29)

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,

),

(30)

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,

(31)

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,

(32)

28

), ),

title: Text(

"Keluar",

style: TextStyle(

fontWeight: FontWeight.w500, fontSize: 20,

), ), ), ], ), );

} }

(33)

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.

(34)

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.

Gambar

Gambar 2. 1 Halaman awal
Gambar 2. 4 Halaman Beranda
Gambar 2. 5 Detail Dokter
Gambar 2. 7 Dokter
+4

Referensi

Dokumen terkait

Makalah Ujian Akhir Semester Mata Kuliah Terorismedi.. IndonesiaKajian Terorisme dalam

RPS Mata Kuliah Mobile Device (Programming) Technology – Program Studi Sistem Informasi Halaman 6 dari 18 Tujuan Tugas: Mahasiswa diharapkan mampu membuat aplikasi

Tugas pembuatan Laporan Tugas Akhir merupakan salah satu syarat yang harus ditempuh guna memenuhi syarat mata kuliah pada Program Studi DIII Teknik Mesin Universitas.. Laporan

Tujuan dari pengerjaan tugas akhir ini adalah untuk membangun sebuah program aplikasi penjadwalan mata kuliah yang berjalan pada PC / Laptop dan Sistem Operasi Berbasis

NASKAH TUGAS MATA KULIAH UNIVERSITAS TERBUKA SEMESTER: 2022/20203 Genap Fakultas : Ekonomi Program Studi : Manajemen Kode/Nama MK : EKMA4367/Hubungan Industrial Tugas : 2 Penulis

Dokumen ini berisi soal ujian akhir semester mata kuliah Hukum Acara Perdata di Fakultas Hukum Universitas

RANCANG BANGUN MESIN DOWEL KAYU UNTUK PEMBUATAN KAYU SILINDER DENGAN DIAMETER 30MM PERENCANAAN TUGAS AKHIR Diajukan untuk Memenuhi Syarat Mata Kuliah Tugas Akhir Di Program

Ujian Akhir Semester Mata Kuliah Sumber Daya dan Konversi