Aplikasi Jadwal Pelajaran
Pembuatan Aplikasi Jadwal Pelajaran Menggunakan Flutter dengan Fitur CRUD
Dalam era digital saat ini, pemanfaatan teknologi dalam dunia pendidikan menjadi semakin penting. Salah satu bentuk implementasinya adalah pembuatan aplikasi jadwal pelajaran berbasis mobile. Aplikasi ini bertujuan untuk membantu siswa maupun guru dalam mengelola jadwal secara lebih efektif dan efisien. Pada artikel ini, akan dibahas pembuatan aplikasi jadwal pelajaran menggunakan Flutter dengan bahasa pemrograman Dart yang dilengkapi dengan fitur CRUD (Create, Read, Update, Delete).
Pengertian Flutter dan Dart
Flutter merupakan framework open-source yang dikembangkan oleh Google untuk membangun aplikasi mobile berbasis Android dan iOS dengan satu basis kode. Sementara itu, Dart adalah bahasa pemrograman yang digunakan dalam pengembangan aplikasi Flutter.
Konsep CRUD dalam Aplikasi
CRUD adalah singkatan dari:
- Create (menambah data)
- Read (menampilkan data)
- Update (mengubah data)
- Delete (menghapus data)
Dalam aplikasi jadwal pelajaran, CRUD digunakan untuk mengelola data jadwal seperti hari, mata pelajaran, dan jam.
Langkah-langkah Pembuatan Aplikasi
- Membuat project Flutter baru
- Mendesain tampilan aplikasi
- Membuat model data jadwal
- Mengimplementasikan fitur CRUD
- Menjalankan aplikasi
Contoh Implementasi Kode Flutter
Berikut adalah contoh sederhana kode aplikasi jadwal pelajaran dengan fitur CRUD:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class Jadwal {
String hari;
String mapel;
String jam;
Jadwal({required this.hari, required this.mapel, required this.jam});
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: JadwalPage(),
);
}
}
class JadwalPage extends StatefulWidget {
@override
_JadwalPageState createState() => _JadwalPageState();
}
class _JadwalPageState extends State<JadwalPage> {
List<Jadwal> listJadwal = [];
final hariController = TextEditingController();
final mapelController = TextEditingController();
final jamController = TextEditingController();
void tambahJadwal() {
setState(() {
listJadwal.add(Jadwal(
hari: hariController.text,
mapel: mapelController.text,
jam: jamController.text,
));
});
hariController.clear();
mapelController.clear();
jamController.clear();
}
void hapusJadwal(int index) {
setState(() {
listJadwal.removeAt(index);
});
}
void editJadwal(int index) {
hariController.text = listJadwal[index].hari;
mapelController.text = listJadwal[index].mapel;
jamController.text = listJadwal[index].jam;
hapusJadwal(index);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Jadwal Pelajaran'),
),
body: Padding(
padding: EdgeInsets.all(16),
child: Column(
children: [
TextField(
controller: hariController,
decoration: InputDecoration(labelText: 'Hari'),
),
TextField(
controller: mapelController,
decoration: InputDecoration(labelText: 'Mata Pelajaran'),
),
TextField(
controller: jamController,
decoration: InputDecoration(labelText: 'Jam'),
),
SizedBox(height: 10),
ElevatedButton(
onPressed: tambahJadwal,
child: Text('Tambah Jadwal'),
),
Expanded(
child: ListView.builder(
itemCount: listJadwal.length,
itemBuilder: (context, index) {
return ListTile(
title: Text(
'${listJadwal[index].hari} - ${listJadwal[index].mapel}'),
subtitle: Text(listJadwal[index].jam),
trailing: Row(
mainAxisSize: MainAxisSize.min,
children: [
IconButton(
icon: Icon(Icons.edit),
onPressed: () => editJadwal(index),
),
IconButton(
icon: Icon(Icons.delete),
onPressed: () => hapusJadwal(index),
),
],
),
);
},
),
)
],
),
),
);
}
}
Penjelasan Singkat Kode
- Class
Jadwaldigunakan sebagai model data - List
listJadwaldigunakan untuk menyimpan data jadwal - Fungsi
tambahJadwal()untuk menambah data - Fungsi
hapusJadwal()untuk menghapus data - Fungsi
editJadwal()untuk mengedit data ListView.builderdigunakan untuk menampilkan daftar jadwal
Kesimpulan
Pembuatan aplikasi jadwal pelajaran menggunakan Flutter dengan fitur CRUD dapat dilakukan dengan cukup sederhana. Dengan memanfaatkan konsep dasar pemrograman dan widget yang disediakan Flutter, aplikasi ini dapat dikembangkan lebih lanjut dengan fitur tambahan seperti penyimpanan database, notifikasi, dan tampilan yang lebih menarik.
Dengan adanya aplikasi ini, diharapkan pengguna dapat mengelola jadwal pelajaran dengan lebih praktis dan efisien.
Komentar
Posting Komentar