diff --git a/build.xml b/build.xml
new file mode 100644
index 0000000..0d2a856
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+ Builds, tests, and runs the project SimAkademik.
+
+
+
diff --git a/build/classes/.netbeans_automatic_build b/build/classes/.netbeans_automatic_build
new file mode 100644
index 0000000..e69de29
diff --git a/build/classes/.netbeans_update_resources b/build/classes/.netbeans_update_resources
new file mode 100644
index 0000000..e69de29
diff --git a/build/classes/gambar/6333204.jpg b/build/classes/gambar/6333204.jpg
new file mode 100644
index 0000000..6df59c1
Binary files /dev/null and b/build/classes/gambar/6333204.jpg differ
diff --git a/build/classes/gambar/gambar1saja.jpg b/build/classes/gambar/gambar1saja.jpg
new file mode 100644
index 0000000..653363d
Binary files /dev/null and b/build/classes/gambar/gambar1saja.jpg differ
diff --git a/build/classes/gambar/logoPoltek.png b/build/classes/gambar/logoPoltek.png
new file mode 100644
index 0000000..ef5179f
Binary files /dev/null and b/build/classes/gambar/logoPoltek.png differ
diff --git a/build/classes/simakademik/DataDosen$1.class b/build/classes/simakademik/DataDosen$1.class
new file mode 100644
index 0000000..79672ce
Binary files /dev/null and b/build/classes/simakademik/DataDosen$1.class differ
diff --git a/build/classes/simakademik/DataDosen$10.class b/build/classes/simakademik/DataDosen$10.class
new file mode 100644
index 0000000..1edfe8f
Binary files /dev/null and b/build/classes/simakademik/DataDosen$10.class differ
diff --git a/build/classes/simakademik/DataDosen$11.class b/build/classes/simakademik/DataDosen$11.class
new file mode 100644
index 0000000..7e07a14
Binary files /dev/null and b/build/classes/simakademik/DataDosen$11.class differ
diff --git a/build/classes/simakademik/DataDosen$12.class b/build/classes/simakademik/DataDosen$12.class
new file mode 100644
index 0000000..8488821
Binary files /dev/null and b/build/classes/simakademik/DataDosen$12.class differ
diff --git a/build/classes/simakademik/DataDosen$2.class b/build/classes/simakademik/DataDosen$2.class
new file mode 100644
index 0000000..bb8d612
Binary files /dev/null and b/build/classes/simakademik/DataDosen$2.class differ
diff --git a/build/classes/simakademik/DataDosen$3.class b/build/classes/simakademik/DataDosen$3.class
new file mode 100644
index 0000000..84b3271
Binary files /dev/null and b/build/classes/simakademik/DataDosen$3.class differ
diff --git a/build/classes/simakademik/DataDosen$4.class b/build/classes/simakademik/DataDosen$4.class
new file mode 100644
index 0000000..6ed8ead
Binary files /dev/null and b/build/classes/simakademik/DataDosen$4.class differ
diff --git a/build/classes/simakademik/DataDosen$5.class b/build/classes/simakademik/DataDosen$5.class
new file mode 100644
index 0000000..78fe9df
Binary files /dev/null and b/build/classes/simakademik/DataDosen$5.class differ
diff --git a/build/classes/simakademik/DataDosen$6.class b/build/classes/simakademik/DataDosen$6.class
new file mode 100644
index 0000000..837abd7
Binary files /dev/null and b/build/classes/simakademik/DataDosen$6.class differ
diff --git a/build/classes/simakademik/DataDosen$7.class b/build/classes/simakademik/DataDosen$7.class
new file mode 100644
index 0000000..0adcbcd
Binary files /dev/null and b/build/classes/simakademik/DataDosen$7.class differ
diff --git a/build/classes/simakademik/DataDosen$8.class b/build/classes/simakademik/DataDosen$8.class
new file mode 100644
index 0000000..3770689
Binary files /dev/null and b/build/classes/simakademik/DataDosen$8.class differ
diff --git a/build/classes/simakademik/DataDosen$9.class b/build/classes/simakademik/DataDosen$9.class
new file mode 100644
index 0000000..d3756c3
Binary files /dev/null and b/build/classes/simakademik/DataDosen$9.class differ
diff --git a/build/classes/simakademik/DataDosen.class b/build/classes/simakademik/DataDosen.class
new file mode 100644
index 0000000..80417d6
Binary files /dev/null and b/build/classes/simakademik/DataDosen.class differ
diff --git a/build/classes/simakademik/DataDosen.form b/build/classes/simakademik/DataDosen.form
new file mode 100644
index 0000000..319295b
--- /dev/null
+++ b/build/classes/simakademik/DataDosen.form
@@ -0,0 +1,558 @@
+
+
+
diff --git a/build/classes/simakademik/DataMahasiswa$1.class b/build/classes/simakademik/DataMahasiswa$1.class
new file mode 100644
index 0000000..f986397
Binary files /dev/null and b/build/classes/simakademik/DataMahasiswa$1.class differ
diff --git a/build/classes/simakademik/DataMahasiswa$10.class b/build/classes/simakademik/DataMahasiswa$10.class
new file mode 100644
index 0000000..9a37e6e
Binary files /dev/null and b/build/classes/simakademik/DataMahasiswa$10.class differ
diff --git a/build/classes/simakademik/DataMahasiswa$11.class b/build/classes/simakademik/DataMahasiswa$11.class
new file mode 100644
index 0000000..dfa9940
Binary files /dev/null and b/build/classes/simakademik/DataMahasiswa$11.class differ
diff --git a/build/classes/simakademik/DataMahasiswa$12.class b/build/classes/simakademik/DataMahasiswa$12.class
new file mode 100644
index 0000000..ccb0577
Binary files /dev/null and b/build/classes/simakademik/DataMahasiswa$12.class differ
diff --git a/build/classes/simakademik/DataMahasiswa$13.class b/build/classes/simakademik/DataMahasiswa$13.class
new file mode 100644
index 0000000..e120782
Binary files /dev/null and b/build/classes/simakademik/DataMahasiswa$13.class differ
diff --git a/build/classes/simakademik/DataMahasiswa$2.class b/build/classes/simakademik/DataMahasiswa$2.class
new file mode 100644
index 0000000..af797f0
Binary files /dev/null and b/build/classes/simakademik/DataMahasiswa$2.class differ
diff --git a/build/classes/simakademik/DataMahasiswa$3.class b/build/classes/simakademik/DataMahasiswa$3.class
new file mode 100644
index 0000000..6e45e99
Binary files /dev/null and b/build/classes/simakademik/DataMahasiswa$3.class differ
diff --git a/build/classes/simakademik/DataMahasiswa$4.class b/build/classes/simakademik/DataMahasiswa$4.class
new file mode 100644
index 0000000..b2e6e89
Binary files /dev/null and b/build/classes/simakademik/DataMahasiswa$4.class differ
diff --git a/build/classes/simakademik/DataMahasiswa$5.class b/build/classes/simakademik/DataMahasiswa$5.class
new file mode 100644
index 0000000..53a7170
Binary files /dev/null and b/build/classes/simakademik/DataMahasiswa$5.class differ
diff --git a/build/classes/simakademik/DataMahasiswa$6.class b/build/classes/simakademik/DataMahasiswa$6.class
new file mode 100644
index 0000000..9be4aab
Binary files /dev/null and b/build/classes/simakademik/DataMahasiswa$6.class differ
diff --git a/build/classes/simakademik/DataMahasiswa$7.class b/build/classes/simakademik/DataMahasiswa$7.class
new file mode 100644
index 0000000..018d501
Binary files /dev/null and b/build/classes/simakademik/DataMahasiswa$7.class differ
diff --git a/build/classes/simakademik/DataMahasiswa$8.class b/build/classes/simakademik/DataMahasiswa$8.class
new file mode 100644
index 0000000..f8e00df
Binary files /dev/null and b/build/classes/simakademik/DataMahasiswa$8.class differ
diff --git a/build/classes/simakademik/DataMahasiswa$9.class b/build/classes/simakademik/DataMahasiswa$9.class
new file mode 100644
index 0000000..d447933
Binary files /dev/null and b/build/classes/simakademik/DataMahasiswa$9.class differ
diff --git a/build/classes/simakademik/DataMahasiswa.class b/build/classes/simakademik/DataMahasiswa.class
new file mode 100644
index 0000000..9d4943e
Binary files /dev/null and b/build/classes/simakademik/DataMahasiswa.class differ
diff --git a/build/classes/simakademik/DataMahasiswa.form b/build/classes/simakademik/DataMahasiswa.form
new file mode 100644
index 0000000..e562c5e
--- /dev/null
+++ b/build/classes/simakademik/DataMahasiswa.form
@@ -0,0 +1,652 @@
+
+
+
diff --git a/build/classes/simakademik/DataMatakuliah$1.class b/build/classes/simakademik/DataMatakuliah$1.class
new file mode 100644
index 0000000..b5dd672
Binary files /dev/null and b/build/classes/simakademik/DataMatakuliah$1.class differ
diff --git a/build/classes/simakademik/DataMatakuliah$10.class b/build/classes/simakademik/DataMatakuliah$10.class
new file mode 100644
index 0000000..ad7221d
Binary files /dev/null and b/build/classes/simakademik/DataMatakuliah$10.class differ
diff --git a/build/classes/simakademik/DataMatakuliah$11.class b/build/classes/simakademik/DataMatakuliah$11.class
new file mode 100644
index 0000000..a693c31
Binary files /dev/null and b/build/classes/simakademik/DataMatakuliah$11.class differ
diff --git a/build/classes/simakademik/DataMatakuliah$2.class b/build/classes/simakademik/DataMatakuliah$2.class
new file mode 100644
index 0000000..dc4a7e6
Binary files /dev/null and b/build/classes/simakademik/DataMatakuliah$2.class differ
diff --git a/build/classes/simakademik/DataMatakuliah$3.class b/build/classes/simakademik/DataMatakuliah$3.class
new file mode 100644
index 0000000..d8bd1a4
Binary files /dev/null and b/build/classes/simakademik/DataMatakuliah$3.class differ
diff --git a/build/classes/simakademik/DataMatakuliah$4.class b/build/classes/simakademik/DataMatakuliah$4.class
new file mode 100644
index 0000000..687baa3
Binary files /dev/null and b/build/classes/simakademik/DataMatakuliah$4.class differ
diff --git a/build/classes/simakademik/DataMatakuliah$5.class b/build/classes/simakademik/DataMatakuliah$5.class
new file mode 100644
index 0000000..afdff0b
Binary files /dev/null and b/build/classes/simakademik/DataMatakuliah$5.class differ
diff --git a/build/classes/simakademik/DataMatakuliah$6.class b/build/classes/simakademik/DataMatakuliah$6.class
new file mode 100644
index 0000000..af80462
Binary files /dev/null and b/build/classes/simakademik/DataMatakuliah$6.class differ
diff --git a/build/classes/simakademik/DataMatakuliah$7.class b/build/classes/simakademik/DataMatakuliah$7.class
new file mode 100644
index 0000000..6676768
Binary files /dev/null and b/build/classes/simakademik/DataMatakuliah$7.class differ
diff --git a/build/classes/simakademik/DataMatakuliah$8.class b/build/classes/simakademik/DataMatakuliah$8.class
new file mode 100644
index 0000000..3537557
Binary files /dev/null and b/build/classes/simakademik/DataMatakuliah$8.class differ
diff --git a/build/classes/simakademik/DataMatakuliah$9.class b/build/classes/simakademik/DataMatakuliah$9.class
new file mode 100644
index 0000000..21857ff
Binary files /dev/null and b/build/classes/simakademik/DataMatakuliah$9.class differ
diff --git a/build/classes/simakademik/DataMatakuliah.class b/build/classes/simakademik/DataMatakuliah.class
new file mode 100644
index 0000000..9d0c131
Binary files /dev/null and b/build/classes/simakademik/DataMatakuliah.class differ
diff --git a/build/classes/simakademik/DataMatakuliah.form b/build/classes/simakademik/DataMatakuliah.form
new file mode 100644
index 0000000..e63de9f
--- /dev/null
+++ b/build/classes/simakademik/DataMatakuliah.form
@@ -0,0 +1,603 @@
+
+
+
diff --git a/build/classes/simakademik/DataPerkuliahan$1.class b/build/classes/simakademik/DataPerkuliahan$1.class
new file mode 100644
index 0000000..b9bd35c
Binary files /dev/null and b/build/classes/simakademik/DataPerkuliahan$1.class differ
diff --git a/build/classes/simakademik/DataPerkuliahan$10.class b/build/classes/simakademik/DataPerkuliahan$10.class
new file mode 100644
index 0000000..edb8ea0
Binary files /dev/null and b/build/classes/simakademik/DataPerkuliahan$10.class differ
diff --git a/build/classes/simakademik/DataPerkuliahan$11.class b/build/classes/simakademik/DataPerkuliahan$11.class
new file mode 100644
index 0000000..7bf6e73
Binary files /dev/null and b/build/classes/simakademik/DataPerkuliahan$11.class differ
diff --git a/build/classes/simakademik/DataPerkuliahan$12.class b/build/classes/simakademik/DataPerkuliahan$12.class
new file mode 100644
index 0000000..ad90c1e
Binary files /dev/null and b/build/classes/simakademik/DataPerkuliahan$12.class differ
diff --git a/build/classes/simakademik/DataPerkuliahan$2.class b/build/classes/simakademik/DataPerkuliahan$2.class
new file mode 100644
index 0000000..f1bb81f
Binary files /dev/null and b/build/classes/simakademik/DataPerkuliahan$2.class differ
diff --git a/build/classes/simakademik/DataPerkuliahan$3.class b/build/classes/simakademik/DataPerkuliahan$3.class
new file mode 100644
index 0000000..551ae65
Binary files /dev/null and b/build/classes/simakademik/DataPerkuliahan$3.class differ
diff --git a/build/classes/simakademik/DataPerkuliahan$4.class b/build/classes/simakademik/DataPerkuliahan$4.class
new file mode 100644
index 0000000..6d7dcbd
Binary files /dev/null and b/build/classes/simakademik/DataPerkuliahan$4.class differ
diff --git a/build/classes/simakademik/DataPerkuliahan$5.class b/build/classes/simakademik/DataPerkuliahan$5.class
new file mode 100644
index 0000000..e8c41f2
Binary files /dev/null and b/build/classes/simakademik/DataPerkuliahan$5.class differ
diff --git a/build/classes/simakademik/DataPerkuliahan$6.class b/build/classes/simakademik/DataPerkuliahan$6.class
new file mode 100644
index 0000000..39d5a97
Binary files /dev/null and b/build/classes/simakademik/DataPerkuliahan$6.class differ
diff --git a/build/classes/simakademik/DataPerkuliahan$7.class b/build/classes/simakademik/DataPerkuliahan$7.class
new file mode 100644
index 0000000..6c48c62
Binary files /dev/null and b/build/classes/simakademik/DataPerkuliahan$7.class differ
diff --git a/build/classes/simakademik/DataPerkuliahan$8.class b/build/classes/simakademik/DataPerkuliahan$8.class
new file mode 100644
index 0000000..86fe531
Binary files /dev/null and b/build/classes/simakademik/DataPerkuliahan$8.class differ
diff --git a/build/classes/simakademik/DataPerkuliahan$9.class b/build/classes/simakademik/DataPerkuliahan$9.class
new file mode 100644
index 0000000..cbc8a33
Binary files /dev/null and b/build/classes/simakademik/DataPerkuliahan$9.class differ
diff --git a/build/classes/simakademik/DataPerkuliahan.class b/build/classes/simakademik/DataPerkuliahan.class
new file mode 100644
index 0000000..0942dbf
Binary files /dev/null and b/build/classes/simakademik/DataPerkuliahan.class differ
diff --git a/build/classes/simakademik/DataPerkuliahan.form b/build/classes/simakademik/DataPerkuliahan.form
new file mode 100644
index 0000000..46dc792
--- /dev/null
+++ b/build/classes/simakademik/DataPerkuliahan.form
@@ -0,0 +1,677 @@
+
+
+
diff --git a/build/classes/simakademik/Login$1.class b/build/classes/simakademik/Login$1.class
new file mode 100644
index 0000000..e1216bc
Binary files /dev/null and b/build/classes/simakademik/Login$1.class differ
diff --git a/build/classes/simakademik/Login.class b/build/classes/simakademik/Login.class
new file mode 100644
index 0000000..d787b3a
Binary files /dev/null and b/build/classes/simakademik/Login.class differ
diff --git a/build/classes/simakademik/Login1$1.class b/build/classes/simakademik/Login1$1.class
new file mode 100644
index 0000000..dd3d37f
Binary files /dev/null and b/build/classes/simakademik/Login1$1.class differ
diff --git a/build/classes/simakademik/Login1$2.class b/build/classes/simakademik/Login1$2.class
new file mode 100644
index 0000000..acf7adf
Binary files /dev/null and b/build/classes/simakademik/Login1$2.class differ
diff --git a/build/classes/simakademik/Login1$3.class b/build/classes/simakademik/Login1$3.class
new file mode 100644
index 0000000..d8ee152
Binary files /dev/null and b/build/classes/simakademik/Login1$3.class differ
diff --git a/build/classes/simakademik/Login1$4.class b/build/classes/simakademik/Login1$4.class
new file mode 100644
index 0000000..f743476
Binary files /dev/null and b/build/classes/simakademik/Login1$4.class differ
diff --git a/build/classes/simakademik/Login1.class b/build/classes/simakademik/Login1.class
new file mode 100644
index 0000000..dc2cccc
Binary files /dev/null and b/build/classes/simakademik/Login1.class differ
diff --git a/build/classes/simakademik/Login1.form b/build/classes/simakademik/Login1.form
new file mode 100644
index 0000000..5c9d27f
--- /dev/null
+++ b/build/classes/simakademik/Login1.form
@@ -0,0 +1,185 @@
+
+
+
diff --git a/manifest.mf b/manifest.mf
new file mode 100644
index 0000000..328e8e5
--- /dev/null
+++ b/manifest.mf
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+X-COMMENT: Main-Class will be added automatically by build
+
diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml
new file mode 100644
index 0000000..652c20a
--- /dev/null
+++ b/nbproject/build-impl.xml
@@ -0,0 +1,1771 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must set src.dir
+ Must set test.src.dir
+ Must set build.dir
+ Must set dist.dir
+ Must set build.classes.dir
+ Must set dist.javadoc.dir
+ Must set build.test.classes.dir
+ Must set build.test.results.dir
+ Must set build.classes.excludes
+ Must set dist.jar
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must set javac.includes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ No tests executed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must set JVM to use for profiling in profiler.info.jvm
+ Must set profiler agent JVM arguments in profiler.info.jvmargs.agent
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select some files in the IDE or set javac.includes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ To run this application from the command line without Ant, try:
+
+ java -jar "${dist.jar.resolved}"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set run.class
+
+
+
+ Must select one file in the IDE or set run.class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set debug.class
+
+
+
+
+ Must select one file in the IDE or set debug.class
+
+
+
+
+ Must set fix.includes
+
+
+
+
+
+
+
+
+
+ This target only works when run from inside the NetBeans IDE.
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set profile.class
+ This target only works when run from inside the NetBeans IDE.
+
+
+
+
+
+
+
+
+ This target only works when run from inside the NetBeans IDE.
+
+
+
+
+
+
+
+
+
+
+
+
+ This target only works when run from inside the NetBeans IDE.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set run.class
+
+
+
+
+
+ Must select some files in the IDE or set test.includes
+
+
+
+
+ Must select one file in the IDE or set run.class
+
+
+
+
+ Must select one file in the IDE or set applet.url
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select some files in the IDE or set javac.includes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Some tests failed; see details above.
+
+
+
+
+
+
+
+
+ Must select some files in the IDE or set test.includes
+
+
+
+ Some tests failed; see details above.
+
+
+
+ Must select some files in the IDE or set test.class
+ Must select some method in the IDE or set test.method
+
+
+
+ Some tests failed; see details above.
+
+
+
+
+ Must select one file in the IDE or set test.class
+
+
+
+ Must select one file in the IDE or set test.class
+ Must select some method in the IDE or set test.method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set applet.url
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set applet.url
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties
new file mode 100644
index 0000000..e067d79
--- /dev/null
+++ b/nbproject/genfiles.properties
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=260a483a
+build.xml.script.CRC32=da0868a3
+build.xml.stylesheet.CRC32=f85dc8f2@1.109.0.48
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=260a483a
+nbproject/build-impl.xml.script.CRC32=c5eaf80a
+nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.109.0.48
diff --git a/nbproject/private/private.properties b/nbproject/private/private.properties
new file mode 100644
index 0000000..121bb20
--- /dev/null
+++ b/nbproject/private/private.properties
@@ -0,0 +1,2 @@
+compile.on.save=true
+user.properties.file=C:\\Users\\ALFARIS\\AppData\\Roaming\\NetBeans\\20\\build.properties
diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml
new file mode 100644
index 0000000..47f620a
--- /dev/null
+++ b/nbproject/private/private.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ file:/C:/Users/ALFARIS/Desktop/Project/SimAkademik/src/simakademik/DataPerkuliahan.java
+ file:/C:/Users/ALFARIS/Desktop/Project/SimAkademik/src/simakademik/Login.java
+ file:/C:/Users/ALFARIS/Desktop/Project/SimAkademik/src/simakademik/DataMahasiswa.java
+ file:/C:/Users/ALFARIS/Desktop/Project/SimAkademik/src/simakademik/DataMatakuliah.java
+ file:/C:/Users/ALFARIS/Desktop/Project/SimAkademik/src/simakademik/Login1.java
+
+
+
diff --git a/nbproject/project.properties b/nbproject/project.properties
new file mode 100644
index 0000000..76ccb7f
--- /dev/null
+++ b/nbproject/project.properties
@@ -0,0 +1,102 @@
+annotation.processing.enabled=true
+annotation.processing.enabled.in.editor=false
+annotation.processing.processor.options=
+annotation.processing.processors.list=
+annotation.processing.run.all.processors=true
+annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
+build.classes.dir=${build.dir}/classes
+build.classes.excludes=**/*.java,**/*.form
+# This directory is removed when the project is cleaned:
+build.dir=build
+build.generated.dir=${build.dir}/generated
+build.generated.sources.dir=${build.dir}/generated-sources
+# Only compile against the classpath explicitly listed here:
+build.sysclasspath=ignore
+build.test.classes.dir=${build.dir}/test/classes
+build.test.results.dir=${build.dir}/test/results
+# Uncomment to specify the preferred debugger connection transport:
+#debug.transport=dt_socket
+debug.classpath=\
+ ${run.classpath}
+debug.modulepath=\
+ ${run.modulepath}
+debug.test.classpath=\
+ ${run.test.classpath}
+debug.test.modulepath=\
+ ${run.test.modulepath}
+# Files in build.classes.dir which should be excluded from distribution jar
+dist.archive.excludes=
+# This directory is removed when the project is cleaned:
+dist.dir=dist
+dist.jar=${dist.dir}/SimAkademik.jar
+dist.javadoc.dir=${dist.dir}/javadoc
+dist.jlink.dir=${dist.dir}/jlink
+dist.jlink.output=${dist.jlink.dir}/SimAkademik
+excludes=
+file.reference.mysql-connector-j-8.4.0.jar=E:\\mysql-connector-j-8.4.0.jar
+file.reference.mysql-connector-j-8.4.0.jar-1=E:\\Downloads\\mysql-connector-j-8.4.0\\mysql-connector-j-8.4.0.jar
+file.reference.rs2xml.jar=E:\\rs2xml.jar
+includes=**
+jar.compress=false
+javac.classpath=\
+ ${file.reference.mysql-connector-j-8.4.0.jar}:\
+ ${file.reference.rs2xml.jar}:\
+ ${libs.absolutelayout.classpath}:\
+ ${file.reference.mysql-connector-j-8.4.0.jar-1}
+# Space-separated list of extra javac options
+javac.compilerargs=
+javac.deprecation=false
+javac.external.vm=true
+javac.modulepath=
+javac.processormodulepath=
+javac.processorpath=\
+ ${javac.classpath}
+javac.source=21
+javac.target=21
+javac.test.classpath=\
+ ${javac.classpath}:\
+ ${build.classes.dir}
+javac.test.modulepath=\
+ ${javac.modulepath}
+javac.test.processorpath=\
+ ${javac.test.classpath}
+javadoc.additionalparam=
+javadoc.author=false
+javadoc.encoding=${source.encoding}
+javadoc.html5=false
+javadoc.noindex=false
+javadoc.nonavbar=false
+javadoc.notree=false
+javadoc.private=false
+javadoc.splitindex=true
+javadoc.use=true
+javadoc.version=false
+javadoc.windowtitle=
+# The jlink additional root modules to resolve
+jlink.additionalmodules=
+# The jlink additional command line parameters
+jlink.additionalparam=
+jlink.launcher=true
+jlink.launcher.name=SimAkademik
+main.class=simakademik.Login1
+manifest.file=manifest.mf
+meta.inf.dir=${src.dir}/META-INF
+mkdist.disabled=false
+platform.active=default_platform
+run.classpath=\
+ ${javac.classpath}:\
+ ${build.classes.dir}
+# Space-separated list of JVM arguments used when running the project.
+# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
+# To set system properties for unit tests define test-sys-prop.name=value:
+run.jvmargs=
+run.modulepath=\
+ ${javac.modulepath}
+run.test.classpath=\
+ ${javac.test.classpath}:\
+ ${build.test.classes.dir}
+run.test.modulepath=\
+ ${javac.test.modulepath}
+source.encoding=UTF-8
+src.dir=src
+test.src.dir=test
diff --git a/nbproject/project.xml b/nbproject/project.xml
new file mode 100644
index 0000000..2642e1f
--- /dev/null
+++ b/nbproject/project.xml
@@ -0,0 +1,15 @@
+
+
+ org.netbeans.modules.java.j2seproject
+
+
+ SimAkademik
+
+
+
+
+
+
+
+
+
diff --git a/src/gambar/6333204.jpg b/src/gambar/6333204.jpg
new file mode 100644
index 0000000..6df59c1
Binary files /dev/null and b/src/gambar/6333204.jpg differ
diff --git a/src/gambar/gambar1saja.jpg b/src/gambar/gambar1saja.jpg
new file mode 100644
index 0000000..653363d
Binary files /dev/null and b/src/gambar/gambar1saja.jpg differ
diff --git a/src/gambar/logoPoltek.png b/src/gambar/logoPoltek.png
new file mode 100644
index 0000000..ef5179f
Binary files /dev/null and b/src/gambar/logoPoltek.png differ
diff --git a/src/simakademik/DataDosen.form b/src/simakademik/DataDosen.form
new file mode 100644
index 0000000..319295b
--- /dev/null
+++ b/src/simakademik/DataDosen.form
@@ -0,0 +1,558 @@
+
+
+
diff --git a/src/simakademik/DataDosen.java b/src/simakademik/DataDosen.java
new file mode 100644
index 0000000..55d11c6
--- /dev/null
+++ b/src/simakademik/DataDosen.java
@@ -0,0 +1,534 @@
+package simakademik;
+
+import java.sql.*;
+import javax.swing.*;
+import javax.xml.crypto.Data;
+import net.proteanit.sql.DbUtils;
+import javax.swing.JOptionPane;
+import javax.swing.table.DefaultTableModel;
+/**
+ *
+ * @author ALFARIS
+ */
+public class DataDosen extends javax.swing.JFrame {
+ private String username;
+
+ Connection con = null;
+ ResultSet rs = null;
+ PreparedStatement pst = null;
+ Statement statBrg;
+ Boolean ada = false;
+
+ private void koneksi() {
+ try{
+ Class.forName("com.mysql.jdbc.Driver");
+ String url="jdbc:mysql://localhost/sim_akademik";
+ String user="root";
+ String pass="";
+ con = DriverManager.getConnection(url,user,pass);
+ statBrg = con.createStatement(rs.TYPE_SCROLL_SENSITIVE,rs.CONCUR_UPDATABLE);
+ rs = statBrg.executeQuery("select * from dosen");
+
+ }catch(Exception e){
+ JOptionPane.showMessageDialog(null, e);
+ System.exit(0);
+ }
+ }
+ private void display(){
+ try{
+ String sql="select * from dosen";
+ pst = con.prepareStatement(sql);
+ rs = pst.executeQuery();
+ jTable1.setModel(DbUtils.resultSetToTableModel(rs));
+ }catch(Exception e){
+ JOptionPane.showMessageDialog(null, e);
+ }
+ }
+ /**
+ * Creates new form Design
+ */
+ public DataDosen() {
+ initComponents();
+ koneksi();
+ display();
+ }
+
+ /**
+ * This method is called from within the constructor to initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is always
+ * regenerated by the Form Editor.
+ */
+ @SuppressWarnings("unchecked")
+ // //GEN-BEGIN:initComponents
+ private void initComponents() {
+
+ bg = new javax.swing.JPanel();
+ jPanel1 = new javax.swing.JPanel();
+ btnMahasiswa = new javax.swing.JPanel();
+ jLabel2 = new javax.swing.JLabel();
+ btnMatkul = new javax.swing.JPanel();
+ jLabel3 = new javax.swing.JLabel();
+ btnPerkuliahan = new javax.swing.JPanel();
+ jLabel4 = new javax.swing.JLabel();
+ btnDosen = new javax.swing.JPanel();
+ jLabel5 = new javax.swing.JLabel();
+ jLabel8 = new javax.swing.JLabel();
+ jLabel15 = new javax.swing.JLabel();
+ jLabel1 = new javax.swing.JLabel();
+ jPanel2 = new javax.swing.JPanel();
+ jLabel6 = new javax.swing.JLabel();
+ jLabel7 = new javax.swing.JLabel();
+ jScrollPane1 = new javax.swing.JScrollPane();
+ jTable1 = new javax.swing.JTable();
+ btnTambah = new javax.swing.JButton();
+ btnEdit = new javax.swing.JButton();
+ btnHapus = new javax.swing.JButton();
+ jLabel9 = new javax.swing.JLabel();
+ jLabel10 = new javax.swing.JLabel();
+ jTextField1 = new javax.swing.JTextField();
+ jTextField2 = new javax.swing.JTextField();
+ btnLogout = new javax.swing.JButton();
+ jLabel14 = new javax.swing.JLabel();
+
+ setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
+ getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
+
+ bg.setBackground(new java.awt.Color(255, 255, 255));
+ bg.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
+
+ jPanel1.setBackground(new java.awt.Color(51, 0, 102));
+ jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
+
+ btnMahasiswa.setBackground(new java.awt.Color(85, 65, 118));
+ btnMahasiswa.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ btnMahasiswaMouseClicked(evt);
+ }
+ });
+
+ jLabel2.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel2.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel2.setText("Data Mahasiswa");
+
+ javax.swing.GroupLayout btnMahasiswaLayout = new javax.swing.GroupLayout(btnMahasiswa);
+ btnMahasiswa.setLayout(btnMahasiswaLayout);
+ btnMahasiswaLayout.setHorizontalGroup(
+ btnMahasiswaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnMahasiswaLayout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE))
+ );
+ btnMahasiswaLayout.setVerticalGroup(
+ btnMahasiswaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnMahasiswaLayout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+
+ jPanel1.add(btnMahasiswa, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 150, 230, 40));
+
+ btnMatkul.setBackground(new java.awt.Color(64, 43, 100));
+ btnMatkul.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ btnMatkulMouseClicked(evt);
+ }
+ });
+
+ jLabel3.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel3.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel3.setText("Data Mata Kuliah");
+
+ javax.swing.GroupLayout btnMatkulLayout = new javax.swing.GroupLayout(btnMatkul);
+ btnMatkul.setLayout(btnMatkulLayout);
+ btnMatkulLayout.setHorizontalGroup(
+ btnMatkulLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnMatkulLayout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE))
+ );
+ btnMatkulLayout.setVerticalGroup(
+ btnMatkulLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnMatkulLayout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+
+ jPanel1.add(btnMatkul, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 230, 230, 40));
+
+ btnPerkuliahan.setBackground(new java.awt.Color(64, 43, 100));
+ btnPerkuliahan.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ btnPerkuliahanMouseClicked(evt);
+ }
+ });
+
+ jLabel4.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel4.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel4.setText("Data Perkuliahan");
+
+ javax.swing.GroupLayout btnPerkuliahanLayout = new javax.swing.GroupLayout(btnPerkuliahan);
+ btnPerkuliahan.setLayout(btnPerkuliahanLayout);
+ btnPerkuliahanLayout.setHorizontalGroup(
+ btnPerkuliahanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnPerkuliahanLayout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE))
+ );
+ btnPerkuliahanLayout.setVerticalGroup(
+ btnPerkuliahanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnPerkuliahanLayout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+
+ jPanel1.add(btnPerkuliahan, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 270, 230, 40));
+
+ btnDosen.setBackground(new java.awt.Color(64, 43, 100));
+ btnDosen.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ btnDosenMouseClicked(evt);
+ }
+ });
+
+ jLabel5.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel5.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel5.setText("Data Dosen");
+
+ javax.swing.GroupLayout btnDosenLayout = new javax.swing.GroupLayout(btnDosen);
+ btnDosen.setLayout(btnDosenLayout);
+ btnDosenLayout.setHorizontalGroup(
+ btnDosenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnDosenLayout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE))
+ );
+ btnDosenLayout.setVerticalGroup(
+ btnDosenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnDosenLayout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+
+ jPanel1.add(btnDosen, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 190, 230, 40));
+
+ jLabel8.setFont(new java.awt.Font("Segoe UI", 1, 18)); // NOI18N
+ jLabel8.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel8.setText("SIM Perkuliahan");
+ jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 50, -1, -1));
+
+ jLabel15.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gambar/logoPoltek.png"))); // NOI18N
+ jPanel1.add(jLabel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 30, 50, 60));
+
+ jLabel1.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel1.setForeground(new java.awt.Color(255, 153, 0));
+ jLabel1.setText("_________________________________________________");
+ jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 90, 230, 20));
+
+ bg.add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, 555));
+
+ jPanel2.setBackground(new java.awt.Color(0, 153, 153));
+ jPanel2.setAutoscrolls(true);
+
+ jLabel6.setFont(new java.awt.Font("Arial", 0, 24)); // NOI18N
+ jLabel6.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel6.setText("Daftar Dosen ___________________________________");
+
+ jLabel7.setFont(new java.awt.Font("Segoe UI", 3, 12)); // NOI18N
+ jLabel7.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel7.setText("Home/DataDosen/");
+
+ javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
+ jPanel2.setLayout(jPanel2Layout);
+ jPanel2Layout.setHorizontalGroup(
+ jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel2Layout.createSequentialGroup()
+ .addGap(41, 41, 41)
+ .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabel7)
+ .addComponent(jLabel6))
+ .addContainerGap(316, Short.MAX_VALUE))
+ );
+ jPanel2Layout.setVerticalGroup(
+ jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
+ .addGap(16, 16, 16)
+ .addComponent(jLabel7)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 47, Short.MAX_VALUE)
+ .addComponent(jLabel6)
+ .addGap(16, 16, 16))
+ );
+
+ bg.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(231, 34, -1, -1));
+
+ jTable1.setModel(new javax.swing.table.DefaultTableModel(
+ new Object [][] {
+ {null, null},
+ {null, null},
+ {null, null},
+ {null, null}
+ },
+ new String [] {
+ "Nip", "Nama Dosen"
+ }
+ ));
+ jTable1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+ jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ jTable1MouseClicked(evt);
+ }
+ });
+ jScrollPane1.setViewportView(jTable1);
+
+ bg.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(248, 312, 665, 223));
+
+ btnTambah.setBackground(new java.awt.Color(0, 102, 255));
+ btnTambah.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ btnTambah.setForeground(new java.awt.Color(255, 255, 255));
+ btnTambah.setText("Tambah");
+ btnTambah.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btnTambahActionPerformed(evt);
+ }
+ });
+ bg.add(btnTambah, new org.netbeans.lib.awtextra.AbsoluteConstraints(248, 277, 82, -1));
+
+ btnEdit.setBackground(new java.awt.Color(255, 153, 51));
+ btnEdit.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ btnEdit.setForeground(new java.awt.Color(255, 255, 255));
+ btnEdit.setText("Edit");
+ btnEdit.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btnEditActionPerformed(evt);
+ }
+ });
+ bg.add(btnEdit, new org.netbeans.lib.awtextra.AbsoluteConstraints(342, 277, 78, -1));
+
+ btnHapus.setBackground(new java.awt.Color(255, 51, 51));
+ btnHapus.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ btnHapus.setForeground(new java.awt.Color(255, 255, 255));
+ btnHapus.setText("Hapus");
+ btnHapus.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btnHapusActionPerformed(evt);
+ }
+ });
+ bg.add(btnHapus, new org.netbeans.lib.awtextra.AbsoluteConstraints(432, 277, -1, -1));
+
+ jLabel9.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel9.setText("Nip");
+ bg.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(248, 178, -1, -1));
+
+ jLabel10.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel10.setText("Nama Dosen");
+ bg.add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(248, 227, -1, -1));
+
+ jTextField1.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jTextField1ActionPerformed(evt);
+ }
+ });
+ bg.add(jTextField1, new org.netbeans.lib.awtextra.AbsoluteConstraints(352, 175, 78, -1));
+
+ jTextField2.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jTextField2ActionPerformed(evt);
+ }
+ });
+ bg.add(jTextField2, new org.netbeans.lib.awtextra.AbsoluteConstraints(353, 224, 133, -1));
+
+ btnLogout.setBackground(new java.awt.Color(204, 0, 0));
+ btnLogout.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ btnLogout.setForeground(new java.awt.Color(255, 255, 255));
+ btnLogout.setText("Logout");
+ btnLogout.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btnLogoutActionPerformed(evt);
+ }
+ });
+ bg.add(btnLogout, new org.netbeans.lib.awtextra.AbsoluteConstraints(841, 277, -1, -1));
+
+ jLabel14.setFont(new java.awt.Font("Segoe UI", 1, 10)); // NOI18N
+ jLabel14.setText("By: Dzakwan alfaris | 234311019");
+ bg.add(jLabel14, new org.netbeans.lib.awtextra.AbsoluteConstraints(746, 8, -1, -1));
+
+ getContentPane().add(bg, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 930, 550));
+
+ pack();
+ }// //GEN-END:initComponents
+
+ private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField2ActionPerformed
+ // TODO add your handling code here:
+ }//GEN-LAST:event_jTextField2ActionPerformed
+
+ private void btnEditActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEditActionPerformed
+ String nip = jTextField1.getText();
+ String nama = jTextField2.getText();
+
+ try {
+ String query = "UPDATE dosen SET Nama_Dosen=? WHERE Nip=?";
+ pst = con.prepareStatement(query);
+ pst.setString(1, nama);
+ pst.setString(2, nip);
+
+ int result = pst.executeUpdate();
+ if (result > 0) {
+ JOptionPane.showMessageDialog(null, "Data berhasil diupdate");
+ } else {
+ JOptionPane.showMessageDialog(null, "Data gagal diupdate");
+ }
+ display();
+ clearFields();
+ } catch (SQLException ex) {
+ JOptionPane.showMessageDialog(null, ex);
+ }
+ }//GEN-LAST:event_btnEditActionPerformed
+
+ private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseClicked
+ try {
+ koneksi();
+ int row = jTable1.getSelectedRow();
+ String tableClick = (jTable1.getModel().getValueAt(row, 0).toString());
+ Statement stm = con.createStatement();
+ ResultSet rs = stm.executeQuery("SELECT * FROM dosen WHERE Nip ='" + tableClick + "'");
+ if (rs.next()) {
+ String nip = rs.getString("Nip");
+ jTextField1.setText(nip);
+ String nama = rs.getString("Nama_Dosen");
+ jTextField2.setText(nama);
+ // Add more fields as needed
+ }
+ } catch (Exception e) {
+ JOptionPane.showMessageDialog(null, e);
+ }
+ }//GEN-LAST:event_jTable1MouseClicked
+
+ private void btnDosenMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnDosenMouseClicked
+ DataDosen dataDosenFrame = new DataDosen();
+ dataDosenFrame.setVisible(true);
+ this.dispose();
+ }//GEN-LAST:event_btnDosenMouseClicked
+
+ private void btnMahasiswaMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnMahasiswaMouseClicked
+ DataMahasiswa dataMahasiswa = new DataMahasiswa();
+ dataMahasiswa.setVisible(true);
+ this.dispose();
+ }//GEN-LAST:event_btnMahasiswaMouseClicked
+
+ private void btnMatkulMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnMatkulMouseClicked
+ DataMatakuliah dataMatakuliah = new DataMatakuliah();
+ dataMatakuliah.setVisible(true);
+ dispose();
+ }//GEN-LAST:event_btnMatkulMouseClicked
+
+ private void btnPerkuliahanMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnPerkuliahanMouseClicked
+ DataPerkuliahan dataPerkuliahan = new DataPerkuliahan();
+ dataPerkuliahan.setVisible(true);
+ this.dispose();
+ }//GEN-LAST:event_btnPerkuliahanMouseClicked
+
+ private void btnLogoutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLogoutActionPerformed
+ Login1 login1 = new Login1();
+ login1.setVisible(true);
+ this.dispose();
+ }//GEN-LAST:event_btnLogoutActionPerformed
+
+ private void btnTambahActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnTambahActionPerformed
+ String nip = jTextField1.getText();
+ String nama = jTextField2.getText();
+
+ // Query untuk insert data
+ String sql = "INSERT INTO dosen (Nip, Nama_Dosen) VALUES (?, ?)";
+
+ try {
+ // Mempersiapkan statement
+ pst = con.prepareStatement(sql);
+ pst.setString(1, nip);
+ pst.setString(2, nama);
+ pst.executeUpdate();
+ JOptionPane.showMessageDialog(null, "Data berhasil ditambahkan!");
+ display();
+ clearFields();
+ } catch (Exception e) {
+ JOptionPane.showMessageDialog(null, e);
+ }
+
+ }//GEN-LAST:event_btnTambahActionPerformed
+
+ private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField1ActionPerformed
+ // TODO add your handling code here:
+ }//GEN-LAST:event_jTextField1ActionPerformed
+
+ private void btnHapusActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnHapusActionPerformed
+ int confirm = JOptionPane.showConfirmDialog(null, "Apa kamu yakin ingin menghapus data ini?", "Konfirmasi Hapus", JOptionPane.YES_NO_OPTION);
+ if (confirm == JOptionPane.YES_OPTION) {
+ try {
+ koneksi();
+ int row = jTable1.getSelectedRow();
+ String tableClick = (jTable1.getModel().getValueAt(row, 0).toString());
+ String sql = "DELETE FROM dosen WHERE Nip = ?";
+ PreparedStatement pst = con.prepareStatement(sql);
+ pst.setString(1, tableClick);
+ int result = pst.executeUpdate();
+ if (result > 0) {
+ JOptionPane.showMessageDialog(null, "Data berhasil dihapus");
+ display();
+ clearFields();
+ } else {
+ JOptionPane.showMessageDialog(null, "Data gagal dihapus");
+ }
+ } catch (Exception e) {
+ JOptionPane.showMessageDialog(null, e);
+ }
+ }
+
+ }//GEN-LAST:event_btnHapusActionPerformed
+ private void clearFields() {
+ jTextField1.setText("");
+ jTextField2.setText("");
+ }
+
+ /**
+ * @param args the command line arguments
+ */
+ public static void main(String args[]) {
+ java.awt.EventQueue.invokeLater(new Runnable() {
+ public void run() {
+ //new DataDosen().setVisible(true);
+ }
+ });
+ }
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JPanel bg;
+ private javax.swing.JPanel btnDosen;
+ private javax.swing.JButton btnEdit;
+ private javax.swing.JButton btnHapus;
+ private javax.swing.JButton btnLogout;
+ private javax.swing.JPanel btnMahasiswa;
+ private javax.swing.JPanel btnMatkul;
+ private javax.swing.JPanel btnPerkuliahan;
+ private javax.swing.JButton btnTambah;
+ private javax.swing.JLabel jLabel1;
+ private javax.swing.JLabel jLabel10;
+ private javax.swing.JLabel jLabel14;
+ private javax.swing.JLabel jLabel15;
+ private javax.swing.JLabel jLabel2;
+ private javax.swing.JLabel jLabel3;
+ private javax.swing.JLabel jLabel4;
+ private javax.swing.JLabel jLabel5;
+ private javax.swing.JLabel jLabel6;
+ private javax.swing.JLabel jLabel7;
+ private javax.swing.JLabel jLabel8;
+ private javax.swing.JLabel jLabel9;
+ private javax.swing.JPanel jPanel1;
+ private javax.swing.JPanel jPanel2;
+ private javax.swing.JScrollPane jScrollPane1;
+ private javax.swing.JTable jTable1;
+ private javax.swing.JTextField jTextField1;
+ private javax.swing.JTextField jTextField2;
+ // End of variables declaration//GEN-END:variables
+}
diff --git a/src/simakademik/DataMahasiswa.form b/src/simakademik/DataMahasiswa.form
new file mode 100644
index 0000000..e562c5e
--- /dev/null
+++ b/src/simakademik/DataMahasiswa.form
@@ -0,0 +1,652 @@
+
+
+
diff --git a/src/simakademik/DataMahasiswa.java b/src/simakademik/DataMahasiswa.java
new file mode 100644
index 0000000..8451f23
--- /dev/null
+++ b/src/simakademik/DataMahasiswa.java
@@ -0,0 +1,573 @@
+package simakademik;
+
+import java.sql.*;
+import javax.swing.*;
+import javax.xml.crypto.Data;
+import net.proteanit.sql.DbUtils;
+import javax.swing.JOptionPane;
+import javax.swing.table.DefaultTableModel;
+/**
+ *
+ * @author ALFARIS
+ */
+public class DataMahasiswa extends javax.swing.JFrame {
+ //private String username;
+
+ Connection con = null;
+ ResultSet rs = null;
+ PreparedStatement pst = null;
+ Statement statBrg;
+ Boolean ada = false;
+
+ private void koneksi() {
+ try{
+ Class.forName("com.mysql.jdbc.Driver");
+ String url="jdbc:mysql://localhost/sim_akademik";
+ String user="root";
+ String pass="";
+ con = DriverManager.getConnection(url,user,pass);
+ statBrg = con.createStatement(rs.TYPE_SCROLL_SENSITIVE,rs.CONCUR_UPDATABLE);
+ rs = statBrg.executeQuery("select * from mahasiswa");
+
+ }catch(Exception e){
+ JOptionPane.showMessageDialog(null, e);
+ System.exit(0);
+ }
+ }
+ private void display(){
+ try{
+ String sql="select * from mahasiswa";
+ pst = con.prepareStatement(sql);
+ rs = pst.executeQuery();
+ jTable1.setModel(DbUtils.resultSetToTableModel(rs));
+ }catch(Exception e){
+ JOptionPane.showMessageDialog(null, e);
+ }
+ }
+ private void Clear() {
+ jTextField1.setText("");
+ jTextField2.setText("");
+ }
+ public DataMahasiswa(/*String username*/) {
+ initComponents();
+ //this.username = username;
+ koneksi();
+ display();
+ }
+
+ /**
+ * This method is called from within the constructor to initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is always
+ * regenerated by the Form Editor.
+ */
+ @SuppressWarnings("unchecked")
+ // //GEN-BEGIN:initComponents
+ private void initComponents() {
+
+ bg = new javax.swing.JPanel();
+ jPanel1 = new javax.swing.JPanel();
+ btnMahasiswa = new javax.swing.JPanel();
+ jLabel2 = new javax.swing.JLabel();
+ btnMatkul = new javax.swing.JPanel();
+ jLabel3 = new javax.swing.JLabel();
+ btnPerkuliahan = new javax.swing.JPanel();
+ jLabel4 = new javax.swing.JLabel();
+ btnDosen = new javax.swing.JPanel();
+ jLabel5 = new javax.swing.JLabel();
+ jLabel1 = new javax.swing.JLabel();
+ jLabel8 = new javax.swing.JLabel();
+ jLabel15 = new javax.swing.JLabel();
+ jPanel2 = new javax.swing.JPanel();
+ jLabel6 = new javax.swing.JLabel();
+ jLabel7 = new javax.swing.JLabel();
+ jScrollPane1 = new javax.swing.JScrollPane();
+ jTable1 = new javax.swing.JTable();
+ btnTambah = new javax.swing.JButton();
+ btnEdit = new javax.swing.JButton();
+ btnHapus = new javax.swing.JButton();
+ jLabel9 = new javax.swing.JLabel();
+ jLabel10 = new javax.swing.JLabel();
+ jLabel11 = new javax.swing.JLabel();
+ jTextField1 = new javax.swing.JTextField();
+ jTextField2 = new javax.swing.JTextField();
+ jLabel12 = new javax.swing.JLabel();
+ jTextField3 = new javax.swing.JTextField();
+ jTextField4 = new javax.swing.JTextField();
+ jLabel13 = new javax.swing.JLabel();
+ jRadioButton1 = new javax.swing.JRadioButton();
+ jRadioButton2 = new javax.swing.JRadioButton();
+ btnLogout = new javax.swing.JButton();
+ jLabel14 = new javax.swing.JLabel();
+
+ setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
+ getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
+
+ bg.setBackground(new java.awt.Color(255, 255, 255));
+ bg.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
+
+ jPanel1.setBackground(new java.awt.Color(51, 0, 102));
+ jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
+
+ btnMahasiswa.setBackground(new java.awt.Color(85, 65, 118));
+ btnMahasiswa.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ btnMahasiswaMouseClicked(evt);
+ }
+ });
+
+ jLabel2.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel2.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel2.setText("Data Mahasiswa");
+
+ javax.swing.GroupLayout btnMahasiswaLayout = new javax.swing.GroupLayout(btnMahasiswa);
+ btnMahasiswa.setLayout(btnMahasiswaLayout);
+ btnMahasiswaLayout.setHorizontalGroup(
+ btnMahasiswaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnMahasiswaLayout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE))
+ );
+ btnMahasiswaLayout.setVerticalGroup(
+ btnMahasiswaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnMahasiswaLayout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+
+ jPanel1.add(btnMahasiswa, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 150, 230, 40));
+
+ btnMatkul.setBackground(new java.awt.Color(64, 43, 100));
+ btnMatkul.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ btnMatkulMouseClicked(evt);
+ }
+ });
+
+ jLabel3.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel3.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel3.setText("Data Mata Kuliah");
+
+ javax.swing.GroupLayout btnMatkulLayout = new javax.swing.GroupLayout(btnMatkul);
+ btnMatkul.setLayout(btnMatkulLayout);
+ btnMatkulLayout.setHorizontalGroup(
+ btnMatkulLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnMatkulLayout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE))
+ );
+ btnMatkulLayout.setVerticalGroup(
+ btnMatkulLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnMatkulLayout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+
+ jPanel1.add(btnMatkul, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 230, 230, 40));
+
+ btnPerkuliahan.setBackground(new java.awt.Color(64, 43, 100));
+ btnPerkuliahan.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ btnPerkuliahanMouseClicked(evt);
+ }
+ });
+
+ jLabel4.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel4.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel4.setText("Data Perkuliahan");
+
+ javax.swing.GroupLayout btnPerkuliahanLayout = new javax.swing.GroupLayout(btnPerkuliahan);
+ btnPerkuliahan.setLayout(btnPerkuliahanLayout);
+ btnPerkuliahanLayout.setHorizontalGroup(
+ btnPerkuliahanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnPerkuliahanLayout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE))
+ );
+ btnPerkuliahanLayout.setVerticalGroup(
+ btnPerkuliahanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnPerkuliahanLayout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+
+ jPanel1.add(btnPerkuliahan, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 270, 230, 40));
+
+ btnDosen.setBackground(new java.awt.Color(64, 43, 100));
+ btnDosen.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ btnDosenMouseClicked(evt);
+ }
+ });
+
+ jLabel5.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel5.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel5.setText("Data Dosen");
+
+ javax.swing.GroupLayout btnDosenLayout = new javax.swing.GroupLayout(btnDosen);
+ btnDosen.setLayout(btnDosenLayout);
+ btnDosenLayout.setHorizontalGroup(
+ btnDosenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnDosenLayout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE))
+ );
+ btnDosenLayout.setVerticalGroup(
+ btnDosenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnDosenLayout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+
+ jPanel1.add(btnDosen, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 190, 230, 40));
+
+ jLabel1.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel1.setForeground(new java.awt.Color(255, 153, 0));
+ jLabel1.setText("_________________________________________________");
+ jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 90, 230, 20));
+
+ jLabel8.setFont(new java.awt.Font("Segoe UI", 1, 18)); // NOI18N
+ jLabel8.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel8.setText("SIM Perkuliahan");
+ jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 50, 140, -1));
+
+ jLabel15.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gambar/logoPoltek.png"))); // NOI18N
+ jPanel1.add(jLabel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 30, 50, 60));
+
+ bg.add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, 555));
+
+ jPanel2.setBackground(new java.awt.Color(0, 153, 153));
+ jPanel2.setAutoscrolls(true);
+
+ jLabel6.setFont(new java.awt.Font("Arial", 0, 24)); // NOI18N
+ jLabel6.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel6.setText("Daftar Mahasiswa ________________________________");
+
+ jLabel7.setFont(new java.awt.Font("Segoe UI", 3, 12)); // NOI18N
+ jLabel7.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel7.setText("Home/DataMahasiswa/");
+
+ javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
+ jPanel2.setLayout(jPanel2Layout);
+ jPanel2Layout.setHorizontalGroup(
+ jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel2Layout.createSequentialGroup()
+ .addGap(41, 41, 41)
+ .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabel7)
+ .addComponent(jLabel6))
+ .addContainerGap(316, Short.MAX_VALUE))
+ );
+ jPanel2Layout.setVerticalGroup(
+ jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
+ .addGap(16, 16, 16)
+ .addComponent(jLabel7)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 47, Short.MAX_VALUE)
+ .addComponent(jLabel6)
+ .addGap(16, 16, 16))
+ );
+
+ bg.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(231, 34, -1, -1));
+
+ jTable1.setModel(new javax.swing.table.DefaultTableModel(
+ new Object [][] {
+ {null, null, null, null, null},
+ {null, null, null, null, null},
+ {null, null, null, null, null},
+ {null, null, null, null, null}
+ },
+ new String [] {
+ "NIM", "Nama Mhs", "Tanggal Lahir", "Alamat", "Jenis Kelamin"
+ }
+ ));
+ jTable1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+ jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ jTable1MouseClicked(evt);
+ }
+ });
+ jScrollPane1.setViewportView(jTable1);
+
+ bg.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(248, 318, 665, 215));
+
+ btnTambah.setBackground(new java.awt.Color(0, 102, 255));
+ btnTambah.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ btnTambah.setForeground(new java.awt.Color(255, 255, 255));
+ btnTambah.setText("Tambah");
+ btnTambah.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btnTambahActionPerformed(evt);
+ }
+ });
+ bg.add(btnTambah, new org.netbeans.lib.awtextra.AbsoluteConstraints(248, 283, 82, -1));
+
+ btnEdit.setBackground(new java.awt.Color(255, 153, 51));
+ btnEdit.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ btnEdit.setForeground(new java.awt.Color(255, 255, 255));
+ btnEdit.setText("Edit");
+ btnEdit.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btnEditActionPerformed(evt);
+ }
+ });
+ bg.add(btnEdit, new org.netbeans.lib.awtextra.AbsoluteConstraints(342, 283, 78, -1));
+
+ btnHapus.setBackground(new java.awt.Color(255, 51, 51));
+ btnHapus.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ btnHapus.setForeground(new java.awt.Color(255, 255, 255));
+ btnHapus.setText("Hapus");
+ btnHapus.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btnHapusActionPerformed(evt);
+ }
+ });
+ bg.add(btnHapus, new org.netbeans.lib.awtextra.AbsoluteConstraints(432, 283, -1, -1));
+
+ jLabel9.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel9.setText("Nim");
+ bg.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(248, 178, -1, -1));
+
+ jLabel10.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel10.setText("Nama Mhs");
+ bg.add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(248, 212, -1, -1));
+
+ jLabel11.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel11.setText("Tanggal Lahir");
+ bg.add(jLabel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(248, 246, 81, -1));
+
+ jTextField1.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jTextField1ActionPerformed(evt);
+ }
+ });
+ bg.add(jTextField1, new org.netbeans.lib.awtextra.AbsoluteConstraints(341, 175, 78, -1));
+
+ jTextField2.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jTextField2ActionPerformed(evt);
+ }
+ });
+ bg.add(jTextField2, new org.netbeans.lib.awtextra.AbsoluteConstraints(341, 209, 133, -1));
+
+ jLabel12.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel12.setText("Alamat");
+ bg.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(537, 178, 59, -1));
+ bg.add(jTextField3, new org.netbeans.lib.awtextra.AbsoluteConstraints(341, 243, 95, -1));
+
+ jTextField4.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jTextField4ActionPerformed(evt);
+ }
+ });
+ bg.add(jTextField4, new org.netbeans.lib.awtextra.AbsoluteConstraints(639, 175, 165, -1));
+
+ jLabel13.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel13.setText("Jenis Kelamin");
+ bg.add(jLabel13, new org.netbeans.lib.awtextra.AbsoluteConstraints(537, 212, 80, -1));
+
+ jRadioButton1.setText("Laki-laki");
+ bg.add(jRadioButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 210, -1, -1));
+
+ jRadioButton2.setText("Perempuan");
+ bg.add(jRadioButton2, new org.netbeans.lib.awtextra.AbsoluteConstraints(717, 210, 87, -1));
+
+ btnLogout.setBackground(new java.awt.Color(204, 0, 0));
+ btnLogout.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ btnLogout.setForeground(new java.awt.Color(255, 255, 255));
+ btnLogout.setText("Logout");
+ btnLogout.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btnLogoutActionPerformed(evt);
+ }
+ });
+ bg.add(btnLogout, new org.netbeans.lib.awtextra.AbsoluteConstraints(841, 283, -1, -1));
+
+ jLabel14.setFont(new java.awt.Font("Segoe UI", 1, 10)); // NOI18N
+ jLabel14.setText("By: Dzakwan alfaris | 234311019");
+ bg.add(jLabel14, new org.netbeans.lib.awtextra.AbsoluteConstraints(746, 8, -1, -1));
+
+ getContentPane().add(bg, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 930, 550));
+
+ pack();
+ }// //GEN-END:initComponents
+
+ private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField2ActionPerformed
+ // TODO add your handling code here:
+ }//GEN-LAST:event_jTextField2ActionPerformed
+
+ private void btnEditActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEditActionPerformed
+ try {
+ koneksi();
+ String sql = "UPDATE mahasiswa SET Nama_Mhs=?, Tgl_Lahir=?, Alamat=?, Jenis_Kelamin=? WHERE Nim=?";
+ pst = con.prepareStatement(sql);
+ pst.setString(1, jTextField2.getText());
+ pst.setString(2, jTextField3.getText());
+ pst.setString(3, jTextField4.getText());
+ String jenisKelamin = jRadioButton1.isSelected() ? "Laki-laki" : "Perempuan";
+ pst.setString(4, jenisKelamin);
+ pst.setString(5, jTextField1.getText());
+ pst.executeUpdate();
+ JOptionPane.showMessageDialog(null, "Data berhasil diperbarui");
+ display();
+ Clear();
+ } catch (Exception e) {
+ JOptionPane.showMessageDialog(null, e);
+ }
+ }//GEN-LAST:event_btnEditActionPerformed
+
+ private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseClicked
+ try {
+ koneksi();
+ int row = jTable1.getSelectedRow();
+ String tabel_klik = (jTable1.getModel().getValueAt(row, 0).toString());
+ java.sql.Statement stm = con.createStatement();
+ java.sql.ResultSet sql = stm.executeQuery("select * from mahasiswa where Nim ='" + tabel_klik + "'");
+ if (sql.next()) {
+ String nim = sql.getString("Nim");
+ jTextField1.setText(nim);
+ String nama = sql.getString("Nama_Mhs");
+ jTextField2.setText(nama);
+ String tglLahir = sql.getString("Tgl_Lahir");
+ jTextField3.setText(tglLahir);
+ String alamat = sql.getString("Alamat");
+ jTextField4.setText(alamat);
+ String jenisKelamin = sql.getString("Jenis_Kelamin");
+ if (jenisKelamin.equals("Laki-laki")) {
+ jRadioButton1.setSelected(true);
+ } else {
+ jRadioButton2.setSelected(true);
+ }
+ }
+ } catch (Exception e) {
+ JOptionPane.showMessageDialog(null, e);
+ }
+ }//GEN-LAST:event_jTable1MouseClicked
+
+ private void btnDosenMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnDosenMouseClicked
+ DataDosen dataDosen = new DataDosen();
+ dataDosen.setVisible(true);
+ this.dispose();
+ }//GEN-LAST:event_btnDosenMouseClicked
+
+ private void btnMahasiswaMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnMahasiswaMouseClicked
+ DataMahasiswa dataMahasiswa = new DataMahasiswa();
+ dataMahasiswa.setVisible(true);
+ this.dispose();
+ }//GEN-LAST:event_btnMahasiswaMouseClicked
+
+ private void btnMatkulMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnMatkulMouseClicked
+ DataMatakuliah dataMatakuliah = new DataMatakuliah();
+ dataMatakuliah.setVisible(true);
+ this.dispose();
+ }//GEN-LAST:event_btnMatkulMouseClicked
+
+ private void btnPerkuliahanMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnPerkuliahanMouseClicked
+ DataPerkuliahan dataPerkuliahan = new DataPerkuliahan();
+ dataPerkuliahan.setVisible(true);
+ this.dispose();
+ }//GEN-LAST:event_btnPerkuliahanMouseClicked
+
+ private void btnLogoutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLogoutActionPerformed
+ Login1 login1 = new Login1();
+ login1.setVisible(true);
+ this.dispose();
+ }//GEN-LAST:event_btnLogoutActionPerformed
+
+ private void btnTambahActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnTambahActionPerformed
+ try {
+ koneksi();
+ String sql = "INSERT INTO mahasiswa (Nim, Nama_Mhs, Tgl_Lahir, Alamat, Jenis_Kelamin) VALUES (?, ?, ?, ?, ?)";
+ pst = con.prepareStatement(sql);
+ pst.setString(1, jTextField1.getText());
+ pst.setString(2, jTextField2.getText());
+ pst.setString(3, jTextField3.getText());
+ pst.setString(4, jTextField4.getText());
+ String jenisKelamin = jRadioButton1.isSelected() ? "Laki-laki" : "Perempuan";
+ pst.setString(5, jenisKelamin);
+ pst.executeUpdate();
+ JOptionPane.showMessageDialog(null, "Data berhasil ditambahkan");
+ display();
+ Clear();
+ } catch (Exception e) {
+ JOptionPane.showMessageDialog(null, e);
+ }
+ }//GEN-LAST:event_btnTambahActionPerformed
+
+ private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField1ActionPerformed
+ // TODO add your handling code here:
+ }//GEN-LAST:event_jTextField1ActionPerformed
+
+ private void jTextField4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField4ActionPerformed
+ // TODO add your handling code here:
+ }//GEN-LAST:event_jTextField4ActionPerformed
+
+ private void btnHapusActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnHapusActionPerformed
+ int confirm = JOptionPane.showConfirmDialog(null, "Apakah Anda yakin ingin menghapus data ini?", "Konfirmasi Hapus", JOptionPane.YES_NO_OPTION);
+ if (confirm == JOptionPane.YES_OPTION) {
+ try {
+ koneksi();
+ String sql = "DELETE FROM mahasiswa WHERE Nim=?";
+ pst = con.prepareStatement(sql);
+ pst.setString(1, jTextField1.getText());
+ pst.executeUpdate();
+ JOptionPane.showMessageDialog(null, "Data berhasil dihapus");
+ display();
+ Clear();
+ } catch (Exception e) {
+ JOptionPane.showMessageDialog(null, e);
+ }
+ }
+ }//GEN-LAST:event_btnHapusActionPerformed
+
+ /**
+ * @param args the command line arguments
+ */
+ public static void main(String args[]) {
+ java.awt.EventQueue.invokeLater(new Runnable() {
+ public void run() {
+ new DataMahasiswa().setVisible(true);
+ }
+ });
+ }
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JPanel bg;
+ private javax.swing.JPanel btnDosen;
+ private javax.swing.JButton btnEdit;
+ private javax.swing.JButton btnHapus;
+ private javax.swing.JButton btnLogout;
+ private javax.swing.JPanel btnMahasiswa;
+ private javax.swing.JPanel btnMatkul;
+ private javax.swing.JPanel btnPerkuliahan;
+ private javax.swing.JButton btnTambah;
+ private javax.swing.JLabel jLabel1;
+ private javax.swing.JLabel jLabel10;
+ private javax.swing.JLabel jLabel11;
+ private javax.swing.JLabel jLabel12;
+ private javax.swing.JLabel jLabel13;
+ private javax.swing.JLabel jLabel14;
+ private javax.swing.JLabel jLabel15;
+ private javax.swing.JLabel jLabel2;
+ private javax.swing.JLabel jLabel3;
+ private javax.swing.JLabel jLabel4;
+ private javax.swing.JLabel jLabel5;
+ private javax.swing.JLabel jLabel6;
+ private javax.swing.JLabel jLabel7;
+ private javax.swing.JLabel jLabel8;
+ private javax.swing.JLabel jLabel9;
+ private javax.swing.JPanel jPanel1;
+ private javax.swing.JPanel jPanel2;
+ private javax.swing.JRadioButton jRadioButton1;
+ private javax.swing.JRadioButton jRadioButton2;
+ private javax.swing.JScrollPane jScrollPane1;
+ private javax.swing.JTable jTable1;
+ private javax.swing.JTextField jTextField1;
+ private javax.swing.JTextField jTextField2;
+ private javax.swing.JTextField jTextField3;
+ private javax.swing.JTextField jTextField4;
+ // End of variables declaration//GEN-END:variables
+}
diff --git a/src/simakademik/DataMatakuliah.form b/src/simakademik/DataMatakuliah.form
new file mode 100644
index 0000000..e63de9f
--- /dev/null
+++ b/src/simakademik/DataMatakuliah.form
@@ -0,0 +1,603 @@
+
+
+
diff --git a/src/simakademik/DataMatakuliah.java b/src/simakademik/DataMatakuliah.java
new file mode 100644
index 0000000..ddce750
--- /dev/null
+++ b/src/simakademik/DataMatakuliah.java
@@ -0,0 +1,528 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
+ */
+package simakademik;
+
+import java.sql.*;
+import javax.swing.*;
+import javax.xml.crypto.Data;
+import net.proteanit.sql.DbUtils;
+import javax.swing.JOptionPane;
+import javax.swing.table.DefaultTableModel;
+/**
+ *
+ * @author ALFARIS
+ */
+public class DataMatakuliah extends javax.swing.JFrame {
+
+ Connection con = null;
+ ResultSet rs = null;
+ PreparedStatement pst = null;
+ Statement statBrg;
+ Boolean ada = false;
+
+ private void koneksi() {
+ try{
+ Class.forName("com.mysql.jdbc.Driver");
+ String url="jdbc:mysql://localhost/sim_akademik";
+ String user="root";
+ String pass="";
+ con = DriverManager.getConnection(url,user,pass);
+ statBrg = con.createStatement(rs.TYPE_SCROLL_SENSITIVE,rs.CONCUR_UPDATABLE);
+ rs = statBrg.executeQuery("select * from matakuliah");
+
+ }catch(Exception e){
+ JOptionPane.showMessageDialog(null, e);
+ System.exit(0);
+ }
+ }
+ private void display(){
+ try{
+ String sql="select * from matakuliah";
+ pst = con.prepareStatement(sql);
+ rs = pst.executeQuery();
+ jTable1.setModel(DbUtils.resultSetToTableModel(rs));
+ }catch(Exception e){
+ JOptionPane.showMessageDialog(null, e);
+ }
+ }
+ private void Clear() {
+ jTextField1.setText("");
+ jComboBox1.setSelectedIndex(0);
+ jTextField3.setText("");
+ }
+ public DataMatakuliah() {
+ initComponents();
+ koneksi();
+ display();
+ }
+
+ /**
+ * This method is called from within the constructor to initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is always
+ * regenerated by the Form Editor.
+ */
+ @SuppressWarnings("unchecked")
+ // //GEN-BEGIN:initComponents
+ private void initComponents() {
+
+ bg = new javax.swing.JPanel();
+ jPanel1 = new javax.swing.JPanel();
+ btnMahasiswa = new javax.swing.JPanel();
+ jLabel2 = new javax.swing.JLabel();
+ btnMatkul = new javax.swing.JPanel();
+ jLabel3 = new javax.swing.JLabel();
+ btnPerkuliahan = new javax.swing.JPanel();
+ jLabel4 = new javax.swing.JLabel();
+ btnDosen = new javax.swing.JPanel();
+ jLabel5 = new javax.swing.JLabel();
+ jLabel8 = new javax.swing.JLabel();
+ jLabel15 = new javax.swing.JLabel();
+ jLabel1 = new javax.swing.JLabel();
+ jPanel2 = new javax.swing.JPanel();
+ jLabel6 = new javax.swing.JLabel();
+ jLabel7 = new javax.swing.JLabel();
+ jScrollPane1 = new javax.swing.JScrollPane();
+ jTable1 = new javax.swing.JTable();
+ btnTambah = new javax.swing.JButton();
+ btnEdit = new javax.swing.JButton();
+ btnHapus = new javax.swing.JButton();
+ jLabel9 = new javax.swing.JLabel();
+ jLabel10 = new javax.swing.JLabel();
+ jLabel11 = new javax.swing.JLabel();
+ jTextField1 = new javax.swing.JTextField();
+ jTextField3 = new javax.swing.JTextField();
+ btnLogout = new javax.swing.JButton();
+ jLabel14 = new javax.swing.JLabel();
+ jComboBox1 = new javax.swing.JComboBox<>();
+
+ setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
+ getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
+
+ bg.setBackground(new java.awt.Color(255, 255, 255));
+ bg.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
+
+ jPanel1.setBackground(new java.awt.Color(51, 0, 102));
+ jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
+
+ btnMahasiswa.setBackground(new java.awt.Color(85, 65, 118));
+ btnMahasiswa.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ btnMahasiswaMouseClicked(evt);
+ }
+ });
+
+ jLabel2.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel2.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel2.setText("Data Mahasiswa");
+
+ javax.swing.GroupLayout btnMahasiswaLayout = new javax.swing.GroupLayout(btnMahasiswa);
+ btnMahasiswa.setLayout(btnMahasiswaLayout);
+ btnMahasiswaLayout.setHorizontalGroup(
+ btnMahasiswaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnMahasiswaLayout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE))
+ );
+ btnMahasiswaLayout.setVerticalGroup(
+ btnMahasiswaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnMahasiswaLayout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+
+ jPanel1.add(btnMahasiswa, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 150, 230, 40));
+
+ btnMatkul.setBackground(new java.awt.Color(64, 43, 100));
+ btnMatkul.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ btnMatkulMouseClicked(evt);
+ }
+ });
+
+ jLabel3.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel3.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel3.setText("Data Mata Kuliah");
+
+ javax.swing.GroupLayout btnMatkulLayout = new javax.swing.GroupLayout(btnMatkul);
+ btnMatkul.setLayout(btnMatkulLayout);
+ btnMatkulLayout.setHorizontalGroup(
+ btnMatkulLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnMatkulLayout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE))
+ );
+ btnMatkulLayout.setVerticalGroup(
+ btnMatkulLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnMatkulLayout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+
+ jPanel1.add(btnMatkul, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 230, 230, 40));
+
+ btnPerkuliahan.setBackground(new java.awt.Color(64, 43, 100));
+ btnPerkuliahan.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ btnPerkuliahanMouseClicked(evt);
+ }
+ });
+
+ jLabel4.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel4.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel4.setText("Data Perkuliahan");
+
+ javax.swing.GroupLayout btnPerkuliahanLayout = new javax.swing.GroupLayout(btnPerkuliahan);
+ btnPerkuliahan.setLayout(btnPerkuliahanLayout);
+ btnPerkuliahanLayout.setHorizontalGroup(
+ btnPerkuliahanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnPerkuliahanLayout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE))
+ );
+ btnPerkuliahanLayout.setVerticalGroup(
+ btnPerkuliahanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnPerkuliahanLayout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+
+ jPanel1.add(btnPerkuliahan, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 270, 230, 40));
+
+ btnDosen.setBackground(new java.awt.Color(64, 43, 100));
+ btnDosen.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ btnDosenMouseClicked(evt);
+ }
+ });
+
+ jLabel5.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel5.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel5.setText("Data Dosen");
+
+ javax.swing.GroupLayout btnDosenLayout = new javax.swing.GroupLayout(btnDosen);
+ btnDosen.setLayout(btnDosenLayout);
+ btnDosenLayout.setHorizontalGroup(
+ btnDosenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnDosenLayout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE))
+ );
+ btnDosenLayout.setVerticalGroup(
+ btnDosenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnDosenLayout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+
+ jPanel1.add(btnDosen, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 190, 230, 40));
+
+ jLabel8.setFont(new java.awt.Font("Segoe UI", 1, 18)); // NOI18N
+ jLabel8.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel8.setText("SIM Perkuliahan");
+ jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 50, -1, -1));
+
+ jLabel15.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gambar/logoPoltek.png"))); // NOI18N
+ jPanel1.add(jLabel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 30, 50, 60));
+
+ jLabel1.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel1.setForeground(new java.awt.Color(255, 153, 0));
+ jLabel1.setText("_________________________________________________");
+ jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 90, 230, 20));
+
+ bg.add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, 555));
+
+ jPanel2.setBackground(new java.awt.Color(0, 153, 153));
+ jPanel2.setAutoscrolls(true);
+
+ jLabel6.setFont(new java.awt.Font("Arial", 0, 24)); // NOI18N
+ jLabel6.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel6.setText("Daftar Mata Kuliah ________________________________");
+
+ jLabel7.setFont(new java.awt.Font("Segoe UI", 3, 12)); // NOI18N
+ jLabel7.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel7.setText("Home/DataMataKuliah/");
+
+ javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
+ jPanel2.setLayout(jPanel2Layout);
+ jPanel2Layout.setHorizontalGroup(
+ jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel2Layout.createSequentialGroup()
+ .addGap(41, 41, 41)
+ .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabel7)
+ .addComponent(jLabel6))
+ .addContainerGap(316, Short.MAX_VALUE))
+ );
+ jPanel2Layout.setVerticalGroup(
+ jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
+ .addGap(16, 16, 16)
+ .addComponent(jLabel7)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 47, Short.MAX_VALUE)
+ .addComponent(jLabel6)
+ .addGap(16, 16, 16))
+ );
+
+ bg.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(231, 34, -1, -1));
+
+ jTable1.setModel(new javax.swing.table.DefaultTableModel(
+ new Object [][] {
+ {null, null, null},
+ {null, null, null},
+ {null, null, null},
+ {null, null, null}
+ },
+ new String [] {
+ "Kode MK", "Nama MK", "SKS"
+ }
+ ));
+ jTable1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+ jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ jTable1MouseClicked(evt);
+ }
+ });
+ jScrollPane1.setViewportView(jTable1);
+
+ bg.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(248, 317, 665, 218));
+
+ btnTambah.setBackground(new java.awt.Color(0, 102, 255));
+ btnTambah.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ btnTambah.setForeground(new java.awt.Color(255, 255, 255));
+ btnTambah.setText("Tambah");
+ btnTambah.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btnTambahActionPerformed(evt);
+ }
+ });
+ bg.add(btnTambah, new org.netbeans.lib.awtextra.AbsoluteConstraints(248, 282, 82, -1));
+
+ btnEdit.setBackground(new java.awt.Color(255, 153, 51));
+ btnEdit.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ btnEdit.setForeground(new java.awt.Color(255, 255, 255));
+ btnEdit.setText("Edit");
+ btnEdit.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btnEditActionPerformed(evt);
+ }
+ });
+ bg.add(btnEdit, new org.netbeans.lib.awtextra.AbsoluteConstraints(342, 282, 78, -1));
+
+ btnHapus.setBackground(new java.awt.Color(255, 51, 51));
+ btnHapus.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ btnHapus.setForeground(new java.awt.Color(255, 255, 255));
+ btnHapus.setText("Hapus");
+ btnHapus.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btnHapusActionPerformed(evt);
+ }
+ });
+ bg.add(btnHapus, new org.netbeans.lib.awtextra.AbsoluteConstraints(432, 282, -1, -1));
+
+ jLabel9.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel9.setText("Kode MK");
+ bg.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(248, 178, -1, -1));
+
+ jLabel10.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel10.setText("Nama MK");
+ bg.add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(248, 211, -1, -1));
+
+ jLabel11.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel11.setText("SKS");
+ bg.add(jLabel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(248, 245, 81, -1));
+
+ jTextField1.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jTextField1ActionPerformed(evt);
+ }
+ });
+ bg.add(jTextField1, new org.netbeans.lib.awtextra.AbsoluteConstraints(341, 175, 90, -1));
+ bg.add(jTextField3, new org.netbeans.lib.awtextra.AbsoluteConstraints(341, 242, 37, -1));
+
+ btnLogout.setBackground(new java.awt.Color(204, 0, 0));
+ btnLogout.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ btnLogout.setForeground(new java.awt.Color(255, 255, 255));
+ btnLogout.setText("Logout");
+ btnLogout.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btnLogoutActionPerformed(evt);
+ }
+ });
+ bg.add(btnLogout, new org.netbeans.lib.awtextra.AbsoluteConstraints(841, 282, -1, -1));
+
+ jLabel14.setFont(new java.awt.Font("Segoe UI", 1, 10)); // NOI18N
+ jLabel14.setText("By: Dzakwan alfaris | 234311019");
+ bg.add(jLabel14, new org.netbeans.lib.awtextra.AbsoluteConstraints(746, 8, -1, -1));
+
+ jComboBox1.setFont(new java.awt.Font("Segoe UI", 1, 11)); // NOI18N
+ jComboBox1.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Pemrograman Berbasis Web 1", "Praktik Pemrograman Berbasis Web", "MMPPL", "Sistem Operasi", "Teknologi Informasi", "Pemrograman Berbasis Objek", "Praktik Pemrograman Berbasis Objek", "Pendidikan Agama", "APPL", "Struktur Data" }));
+ bg.add(jComboBox1, new org.netbeans.lib.awtextra.AbsoluteConstraints(341, 209, 225, -1));
+
+ getContentPane().add(bg, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 930, 550));
+
+ pack();
+ }// //GEN-END:initComponents
+
+ private void btnEditActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEditActionPerformed
+ String kodeMK = jTextField1.getText().trim();
+ String namaMK = jComboBox1.getSelectedItem().toString();
+ String sks = jTextField3.getText().trim();
+ try {
+ koneksi();
+ String query = "UPDATE matakuliah SET Nama_Mk = ?, Sks = ? WHERE Kode_Mk = ?";
+ PreparedStatement preparedStmt = con.prepareStatement(query);
+ preparedStmt.setString(1, namaMK);
+ preparedStmt.setInt(2, Integer.parseInt(sks));
+ preparedStmt.setString(3, kodeMK);
+
+ preparedStmt.executeUpdate();
+ JOptionPane.showMessageDialog(null, "Data berhasil diperbarui!");
+ display();
+ Clear();
+ } catch (Exception e) {
+ JOptionPane.showMessageDialog(null, "Error saat memperbarui data: " + e.getMessage());
+ }
+ }//GEN-LAST:event_btnEditActionPerformed
+
+ private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseClicked
+ try {
+ koneksi();
+ int row = jTable1.getSelectedRow();
+ String tableClick = (jTable1.getModel().getValueAt(row, 0).toString());
+ Statement stm = con.createStatement();
+ ResultSet rs = stm.executeQuery("SELECT * FROM matakuliah WHERE Kode_Mk ='" + tableClick + "'");
+ if (rs.next()) {
+ String kodeMK = rs.getString("Kode_Mk");
+ jTextField1.setText(kodeMK);
+ String namaMK = rs.getString("Nama_Mk");
+ jComboBox1.setSelectedItem(namaMK);
+ String sks = rs.getString("Sks");
+ jTextField3.setText(sks);
+ }
+ } catch (Exception e) {
+ JOptionPane.showMessageDialog(null, e);
+ }
+ }//GEN-LAST:event_jTable1MouseClicked
+
+ private void btnDosenMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnDosenMouseClicked
+ DataDosen dataDosenFrame = new DataDosen();
+ dataDosenFrame.setVisible(true);
+ this.dispose();
+ }//GEN-LAST:event_btnDosenMouseClicked
+
+ private void btnMahasiswaMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnMahasiswaMouseClicked
+ DataMahasiswa dataMahasiswa = new DataMahasiswa();
+ dataMahasiswa.setVisible(true);
+ this.dispose();
+ }//GEN-LAST:event_btnMahasiswaMouseClicked
+
+ private void btnMatkulMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnMatkulMouseClicked
+ DataMatakuliah dataMatakuliah = new DataMatakuliah();
+ dataMatakuliah.setVisible(true);
+ this.dispose();
+ }//GEN-LAST:event_btnMatkulMouseClicked
+
+ private void btnPerkuliahanMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnPerkuliahanMouseClicked
+ DataPerkuliahan dataPerkuliahan = new DataPerkuliahan();
+ dataPerkuliahan.setVisible(true);
+ this.dispose();
+ }//GEN-LAST:event_btnPerkuliahanMouseClicked
+
+ private void btnLogoutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLogoutActionPerformed
+ dispose();
+ }//GEN-LAST:event_btnLogoutActionPerformed
+
+ private void btnTambahActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnTambahActionPerformed
+ String kodeMK = jTextField1.getText().trim();
+ String namaMK = jComboBox1.getSelectedItem().toString();
+ String sks = jTextField3.getText().trim();
+ try {
+ String query = "INSERT INTO matakuliah (Kode_Mk, Nama_Mk, Sks) VALUES (?, ?, ?)";
+ PreparedStatement preparedStmt = con.prepareStatement(query);
+ preparedStmt.setString(1, kodeMK);
+ preparedStmt.setString(2, namaMK);
+ preparedStmt.setInt(3, Integer.parseInt(sks));
+
+ preparedStmt.execute();
+ JOptionPane.showMessageDialog(null, "Data berhasil ditambahkan!");
+ display();
+ Clear();
+ } catch (Exception e) {
+ JOptionPane.showMessageDialog(null, "Error saat menambah data: " + e.getMessage());
+ }
+ }//GEN-LAST:event_btnTambahActionPerformed
+
+ private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField1ActionPerformed
+ // TODO add your handling code here:
+ }//GEN-LAST:event_jTextField1ActionPerformed
+
+ private void btnHapusActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnHapusActionPerformed
+ String kodeMK = jTextField1.getText().trim();
+ int response = JOptionPane.showConfirmDialog(this, "Apakah Anda yakin ingin menghapus data ini?", "Konfirmasi Hapus", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
+ if (response == JOptionPane.NO_OPTION) {
+ return;
+ }
+ try {
+ koneksi();
+ String query = "DELETE FROM matakuliah WHERE Kode_Mk = ?";
+ PreparedStatement preparedStmt = con.prepareStatement(query);
+ preparedStmt.setString(1, kodeMK);
+
+ preparedStmt.executeUpdate();
+ JOptionPane.showMessageDialog(null, "Data berhasil dihapus!");
+ display();
+ Clear();
+ } catch (Exception e) {
+ JOptionPane.showMessageDialog(null, "Error saat menghapus data: " + e.getMessage());
+ }
+ }//GEN-LAST:event_btnHapusActionPerformed
+
+ /**
+ * @param args the command line arguments
+ */
+ public static void main(String args[]) {
+ java.awt.EventQueue.invokeLater(new Runnable() {
+ public void run() {
+ new DataMatakuliah().setVisible(true);
+ }
+ });
+ }
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JPanel bg;
+ private javax.swing.JPanel btnDosen;
+ private javax.swing.JButton btnEdit;
+ private javax.swing.JButton btnHapus;
+ private javax.swing.JButton btnLogout;
+ private javax.swing.JPanel btnMahasiswa;
+ private javax.swing.JPanel btnMatkul;
+ private javax.swing.JPanel btnPerkuliahan;
+ private javax.swing.JButton btnTambah;
+ private javax.swing.JComboBox jComboBox1;
+ private javax.swing.JLabel jLabel1;
+ private javax.swing.JLabel jLabel10;
+ private javax.swing.JLabel jLabel11;
+ private javax.swing.JLabel jLabel14;
+ private javax.swing.JLabel jLabel15;
+ private javax.swing.JLabel jLabel2;
+ private javax.swing.JLabel jLabel3;
+ private javax.swing.JLabel jLabel4;
+ private javax.swing.JLabel jLabel5;
+ private javax.swing.JLabel jLabel6;
+ private javax.swing.JLabel jLabel7;
+ private javax.swing.JLabel jLabel8;
+ private javax.swing.JLabel jLabel9;
+ private javax.swing.JPanel jPanel1;
+ private javax.swing.JPanel jPanel2;
+ private javax.swing.JScrollPane jScrollPane1;
+ private javax.swing.JTable jTable1;
+ private javax.swing.JTextField jTextField1;
+ private javax.swing.JTextField jTextField3;
+ // End of variables declaration//GEN-END:variables
+}
diff --git a/src/simakademik/DataPerkuliahan.form b/src/simakademik/DataPerkuliahan.form
new file mode 100644
index 0000000..46dc792
--- /dev/null
+++ b/src/simakademik/DataPerkuliahan.form
@@ -0,0 +1,677 @@
+
+
+
diff --git a/src/simakademik/DataPerkuliahan.java b/src/simakademik/DataPerkuliahan.java
new file mode 100644
index 0000000..ff17683
--- /dev/null
+++ b/src/simakademik/DataPerkuliahan.java
@@ -0,0 +1,543 @@
+package simakademik;
+
+import java.sql.*;
+import javax.swing.*;
+import javax.xml.crypto.Data;
+import net.proteanit.sql.DbUtils;
+import javax.swing.JOptionPane;
+import javax.swing.table.DefaultTableModel;
+/**
+ *
+ * @author ALFARIS
+ */
+public class DataPerkuliahan extends javax.swing.JFrame {
+
+ Connection con = null;
+ ResultSet rs = null;
+ PreparedStatement pst = null;
+ Statement statBrg;
+ Boolean ada = false;
+
+ private void koneksi() {
+ try{
+ Class.forName("com.mysql.jdbc.Driver");
+ String url="jdbc:mysql://localhost/sim_akademik";
+ String user="root";
+ String pass="";
+ con = DriverManager.getConnection(url,user,pass);
+ statBrg = con.createStatement(rs.TYPE_SCROLL_SENSITIVE,rs.CONCUR_UPDATABLE);
+ rs = statBrg.executeQuery("select * from perkuliahan");
+
+ }catch(Exception e){
+ JOptionPane.showMessageDialog(null, e);
+ System.exit(0);
+ }
+ }
+ private void display(){
+ try{
+ String sql="select * from perkuliahan";
+ pst = con.prepareStatement(sql);
+ rs = pst.executeQuery();
+ jTable1.setModel(DbUtils.resultSetToTableModel(rs));
+ }catch(Exception e){
+ JOptionPane.showMessageDialog(null, e);
+ }
+ }
+ private void Clear() {
+ jComboBox2.setSelectedIndex(0);
+ jComboBox3.setSelectedIndex(0);
+ jComboBox4.setSelectedIndex(0);
+ jComboBox5.setSelectedIndex(0);
+}
+ public DataPerkuliahan() {
+ initComponents();
+ koneksi();
+ display();
+ jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ jTable1MouseClicked(evt);
+ }
+ });
+ btnHapus.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btnHapusActionPerformed(evt);
+ }
+ });
+ }
+ /**
+ * This method is called from within the constructor to initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is always
+ * regenerated by the Form Editor.
+ */
+ @SuppressWarnings("unchecked")
+ // //GEN-BEGIN:initComponents
+ private void initComponents() {
+
+ bg = new javax.swing.JPanel();
+ jPanel1 = new javax.swing.JPanel();
+ btnMahasiswa = new javax.swing.JPanel();
+ jLabel2 = new javax.swing.JLabel();
+ btnMatkul = new javax.swing.JPanel();
+ jLabel3 = new javax.swing.JLabel();
+ btnPerkuliahan = new javax.swing.JPanel();
+ jLabel4 = new javax.swing.JLabel();
+ btnDosen = new javax.swing.JPanel();
+ jLabel5 = new javax.swing.JLabel();
+ jLabel8 = new javax.swing.JLabel();
+ jLabel15 = new javax.swing.JLabel();
+ jLabel1 = new javax.swing.JLabel();
+ jPanel2 = new javax.swing.JPanel();
+ jLabel6 = new javax.swing.JLabel();
+ jLabel7 = new javax.swing.JLabel();
+ jScrollPane1 = new javax.swing.JScrollPane();
+ jTable1 = new javax.swing.JTable();
+ btnTambah = new javax.swing.JButton();
+ btnEdit = new javax.swing.JButton();
+ btnHapus = new javax.swing.JButton();
+ jLabel9 = new javax.swing.JLabel();
+ jLabel10 = new javax.swing.JLabel();
+ jLabel11 = new javax.swing.JLabel();
+ btnLogout = new javax.swing.JButton();
+ jLabel14 = new javax.swing.JLabel();
+ jLabel12 = new javax.swing.JLabel();
+ jComboBox2 = new javax.swing.JComboBox<>();
+ jComboBox3 = new javax.swing.JComboBox<>();
+ jComboBox4 = new javax.swing.JComboBox<>();
+ jComboBox5 = new javax.swing.JComboBox<>();
+
+ setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
+ getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
+
+ bg.setBackground(new java.awt.Color(255, 255, 255));
+ bg.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
+
+ jPanel1.setBackground(new java.awt.Color(51, 0, 102));
+ jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
+
+ btnMahasiswa.setBackground(new java.awt.Color(85, 65, 118));
+ btnMahasiswa.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ btnMahasiswaMouseClicked(evt);
+ }
+ });
+
+ jLabel2.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel2.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel2.setText("Data Mahasiswa");
+
+ javax.swing.GroupLayout btnMahasiswaLayout = new javax.swing.GroupLayout(btnMahasiswa);
+ btnMahasiswa.setLayout(btnMahasiswaLayout);
+ btnMahasiswaLayout.setHorizontalGroup(
+ btnMahasiswaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnMahasiswaLayout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE))
+ );
+ btnMahasiswaLayout.setVerticalGroup(
+ btnMahasiswaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnMahasiswaLayout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+
+ jPanel1.add(btnMahasiswa, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 150, 230, 40));
+
+ btnMatkul.setBackground(new java.awt.Color(64, 43, 100));
+ btnMatkul.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ btnMatkulMouseClicked(evt);
+ }
+ });
+
+ jLabel3.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel3.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel3.setText("Data Mata Kuliah");
+
+ javax.swing.GroupLayout btnMatkulLayout = new javax.swing.GroupLayout(btnMatkul);
+ btnMatkul.setLayout(btnMatkulLayout);
+ btnMatkulLayout.setHorizontalGroup(
+ btnMatkulLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnMatkulLayout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE))
+ );
+ btnMatkulLayout.setVerticalGroup(
+ btnMatkulLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnMatkulLayout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+
+ jPanel1.add(btnMatkul, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 230, 230, 40));
+
+ btnPerkuliahan.setBackground(new java.awt.Color(64, 43, 100));
+ btnPerkuliahan.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ btnPerkuliahanMouseClicked(evt);
+ }
+ });
+
+ jLabel4.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel4.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel4.setText("Data Perkuliahan");
+
+ javax.swing.GroupLayout btnPerkuliahanLayout = new javax.swing.GroupLayout(btnPerkuliahan);
+ btnPerkuliahan.setLayout(btnPerkuliahanLayout);
+ btnPerkuliahanLayout.setHorizontalGroup(
+ btnPerkuliahanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnPerkuliahanLayout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE))
+ );
+ btnPerkuliahanLayout.setVerticalGroup(
+ btnPerkuliahanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnPerkuliahanLayout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+
+ jPanel1.add(btnPerkuliahan, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 270, 230, 40));
+
+ btnDosen.setBackground(new java.awt.Color(64, 43, 100));
+ btnDosen.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ btnDosenMouseClicked(evt);
+ }
+ });
+
+ jLabel5.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel5.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel5.setText("Data Dosen");
+
+ javax.swing.GroupLayout btnDosenLayout = new javax.swing.GroupLayout(btnDosen);
+ btnDosen.setLayout(btnDosenLayout);
+ btnDosenLayout.setHorizontalGroup(
+ btnDosenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnDosenLayout.createSequentialGroup()
+ .addGap(0, 0, Short.MAX_VALUE)
+ .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE))
+ );
+ btnDosenLayout.setVerticalGroup(
+ btnDosenLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, btnDosenLayout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+
+ jPanel1.add(btnDosen, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 190, 230, 40));
+
+ jLabel8.setFont(new java.awt.Font("Segoe UI", 1, 18)); // NOI18N
+ jLabel8.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel8.setText("SIM Perkuliahan");
+ jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 50, -1, -1));
+
+ jLabel15.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gambar/logoPoltek.png"))); // NOI18N
+ jPanel1.add(jLabel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 30, 50, 60));
+
+ jLabel1.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel1.setForeground(new java.awt.Color(255, 153, 0));
+ jLabel1.setText("_________________________________________________");
+ jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 90, 230, 20));
+
+ bg.add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, 555));
+
+ jPanel2.setBackground(new java.awt.Color(0, 153, 153));
+ jPanel2.setAutoscrolls(true);
+
+ jLabel6.setFont(new java.awt.Font("Arial", 0, 24)); // NOI18N
+ jLabel6.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel6.setText("Daftar Nilai ______________________________________");
+
+ jLabel7.setFont(new java.awt.Font("Segoe UI", 3, 12)); // NOI18N
+ jLabel7.setForeground(new java.awt.Color(255, 255, 255));
+ jLabel7.setText("Home/DataPerkuliahan/");
+
+ javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
+ jPanel2.setLayout(jPanel2Layout);
+ jPanel2Layout.setHorizontalGroup(
+ jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel2Layout.createSequentialGroup()
+ .addGap(41, 41, 41)
+ .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabel7)
+ .addComponent(jLabel6))
+ .addContainerGap(316, Short.MAX_VALUE))
+ );
+ jPanel2Layout.setVerticalGroup(
+ jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
+ .addGap(16, 16, 16)
+ .addComponent(jLabel7)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 47, Short.MAX_VALUE)
+ .addComponent(jLabel6)
+ .addGap(16, 16, 16))
+ );
+
+ bg.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(231, 34, -1, -1));
+
+ jTable1.setModel(new javax.swing.table.DefaultTableModel(
+ new Object [][] {
+ {null, null, null},
+ {null, null, null},
+ {null, null, null},
+ {null, null, null}
+ },
+ new String [] {
+ "Kode MK", "Nama MK", "SKS"
+ }
+ ));
+ jTable1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+ jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ jTable1MouseClicked(evt);
+ }
+ });
+ jScrollPane1.setViewportView(jTable1);
+
+ bg.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(248, 306, 665, 229));
+
+ btnTambah.setBackground(new java.awt.Color(0, 102, 255));
+ btnTambah.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ btnTambah.setForeground(new java.awt.Color(255, 255, 255));
+ btnTambah.setText("Tambah");
+ btnTambah.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btnTambahActionPerformed(evt);
+ }
+ });
+ bg.add(btnTambah, new org.netbeans.lib.awtextra.AbsoluteConstraints(248, 271, 82, -1));
+
+ btnEdit.setBackground(new java.awt.Color(255, 153, 51));
+ btnEdit.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ btnEdit.setForeground(new java.awt.Color(255, 255, 255));
+ btnEdit.setText("Edit");
+ btnEdit.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btnEditActionPerformed(evt);
+ }
+ });
+ bg.add(btnEdit, new org.netbeans.lib.awtextra.AbsoluteConstraints(342, 271, 78, -1));
+
+ btnHapus.setBackground(new java.awt.Color(255, 51, 51));
+ btnHapus.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ btnHapus.setForeground(new java.awt.Color(255, 255, 255));
+ btnHapus.setText("Hapus");
+ btnHapus.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btnHapusActionPerformed(evt);
+ }
+ });
+ bg.add(btnHapus, new org.netbeans.lib.awtextra.AbsoluteConstraints(432, 271, -1, -1));
+
+ jLabel9.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel9.setText("Nim");
+ bg.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(248, 178, -1, -1));
+
+ jLabel10.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel10.setText("Kode Mk");
+ bg.add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(248, 226, -1, -1));
+
+ jLabel11.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel11.setText("Nip");
+ bg.add(jLabel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(517, 178, 81, -1));
+
+ btnLogout.setBackground(new java.awt.Color(204, 0, 0));
+ btnLogout.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ btnLogout.setForeground(new java.awt.Color(255, 255, 255));
+ btnLogout.setText("Logout");
+ btnLogout.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ btnLogoutActionPerformed(evt);
+ }
+ });
+ bg.add(btnLogout, new org.netbeans.lib.awtextra.AbsoluteConstraints(841, 271, -1, -1));
+
+ jLabel14.setFont(new java.awt.Font("Segoe UI", 1, 10)); // NOI18N
+ jLabel14.setText("By: Dzakwan alfaris | 234311019");
+ bg.add(jLabel14, new org.netbeans.lib.awtextra.AbsoluteConstraints(746, 8, -1, -1));
+
+ jLabel12.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jLabel12.setText("Nilai");
+ bg.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(517, 226, 81, -1));
+
+ jComboBox2.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "DS-2341", "DS-2342", "DS-2343", "DS-2344", "DS-2345", "DS-2346", "DS-2347", "DS-2348", "DS-2349", "DS-2350" }));
+ bg.add(jComboBox2, new org.netbeans.lib.awtextra.AbsoluteConstraints(604, 175, 105, -1));
+
+ jComboBox3.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "234311011", "234311012", "234311013", "234311014", "234311015", "234311016", "234311017", "234311018", "234311019", "234311020", "234311021", "234311022", "234311023", "234311024", "234311025" }));
+ bg.add(jComboBox3, new org.netbeans.lib.awtextra.AbsoluteConstraints(328, 175, 115, -1));
+
+ jComboBox4.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "MT-A01", "MT-A02", "MT-A03", "MT-A04", "MT-A05", "MT-A06", "MT-A07", "MT-A08", "MT-A09", "MT-A10", " " }));
+ bg.add(jComboBox4, new org.netbeans.lib.awtextra.AbsoluteConstraints(328, 223, 115, -1));
+
+ jComboBox5.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "A", "AB", "B", "BC", "C", "D", "E" }));
+ bg.add(jComboBox5, new org.netbeans.lib.awtextra.AbsoluteConstraints(604, 223, 67, -1));
+
+ getContentPane().add(bg, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 930, 550));
+
+ pack();
+ }// //GEN-END:initComponents
+
+ private void btnEditActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEditActionPerformed
+ String nim = jComboBox3.getSelectedItem().toString();
+ String kodeMk = jComboBox4.getSelectedItem().toString();
+ String nip = jComboBox2.getSelectedItem().toString();
+ String nilai = jComboBox5.getSelectedItem().toString();
+
+ try {
+ String query = "UPDATE perkuliahan SET Nilai = ? WHERE Nim = ? AND Kode_Mk = ? AND Nip = ?";
+ pst = con.prepareStatement(query);
+ pst.setString(1, nilai);
+ pst.setString(2, nim);
+ pst.setString(3, kodeMk);
+ pst.setString(4, nip);
+
+ pst.executeUpdate();
+ JOptionPane.showMessageDialog(null, "Data berhasil diupdate!");
+ display();
+ Clear();
+ } catch (Exception e) {
+ JOptionPane.showMessageDialog(null, "Error saat mengupdate data: " + e.getMessage());
+ }
+ }//GEN-LAST:event_btnEditActionPerformed
+
+ private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseClicked
+ try {
+ int row = jTable1.getSelectedRow();
+
+ String nim = jTable1.getModel().getValueAt(row, 0).toString();
+ String kodeMk = jTable1.getModel().getValueAt(row, 1).toString();
+ String nip = jTable1.getModel().getValueAt(row, 2).toString();
+ String nilai = jTable1.getModel().getValueAt(row, 3).toString();
+
+ jComboBox3.setSelectedItem(nim);
+ jComboBox4.setSelectedItem(kodeMk);
+ jComboBox2.setSelectedItem(nip);
+ jComboBox5.setSelectedItem(nilai);
+ } catch (Exception e) {
+ JOptionPane.showMessageDialog(null, "Error: " + e.getMessage());
+ }
+ }//GEN-LAST:event_jTable1MouseClicked
+
+ private void btnDosenMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnDosenMouseClicked
+ DataDosen dataDosenFrame = new DataDosen();
+ dataDosenFrame.setVisible(true);
+ this.dispose();
+ }//GEN-LAST:event_btnDosenMouseClicked
+
+ private void btnMahasiswaMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnMahasiswaMouseClicked
+ DataMahasiswa dataMahasiswa = new DataMahasiswa();
+ dataMahasiswa.setVisible(true);
+ this.dispose();
+ }//GEN-LAST:event_btnMahasiswaMouseClicked
+
+ private void btnMatkulMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnMatkulMouseClicked
+ DataMatakuliah dataMatakuliah = new DataMatakuliah();
+ dataMatakuliah.setVisible(true);
+ this.dispose();
+ }//GEN-LAST:event_btnMatkulMouseClicked
+
+ private void btnPerkuliahanMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnPerkuliahanMouseClicked
+ DataPerkuliahan dataPerkuliahan = new DataPerkuliahan();
+ dataPerkuliahan.setVisible(true);
+ this.dispose();
+ }//GEN-LAST:event_btnPerkuliahanMouseClicked
+
+ private void btnLogoutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLogoutActionPerformed
+ dispose();
+ }//GEN-LAST:event_btnLogoutActionPerformed
+
+ private void btnTambahActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnTambahActionPerformed
+ String nim = jComboBox3.getSelectedItem().toString();
+ String kodeMk = jComboBox4.getSelectedItem().toString();
+ String nip = jComboBox2.getSelectedItem().toString();
+ String nilai = jComboBox5.getSelectedItem().toString();
+
+ try {
+ String query = "INSERT INTO perkuliahan (Nim, Kode_Mk, Nip, Nilai) VALUES (?, ?, ?, ?)";
+ pst = con.prepareStatement(query);
+ pst.setString(1, nim);
+ pst.setString(2, kodeMk);
+ pst.setString(3, nip);
+ pst.setString(4, nilai);
+
+ pst.executeUpdate();
+ JOptionPane.showMessageDialog(null, "Data berhasil ditambahkan!");
+ display();
+ Clear();
+ } catch (Exception e) {
+ JOptionPane.showMessageDialog(null, e);
+ }
+ }//GEN-LAST:event_btnTambahActionPerformed
+
+ private void btnHapusActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnHapusActionPerformed
+ int row = jTable1.getSelectedRow();
+
+ // Asumsi bahwa kolom 0 adalah Nim, yang merupakan kunci unik untuk data
+ String nim = jTable1.getModel().getValueAt(row, 0).toString();
+ int response = JOptionPane.showConfirmDialog(null, "Apakah Anda yakin ingin menghapus data ini?", "Konfirmasi Hapus", JOptionPane.YES_NO_OPTION);
+ if (response == JOptionPane.YES_OPTION) {
+ try {
+ String query = "DELETE FROM perkuliahan WHERE Nim = ?";
+ PreparedStatement pst = con.prepareStatement(query);
+ pst.setString(1, nim);
+ int result = pst.executeUpdate();
+ if (result > 0) {
+ JOptionPane.showMessageDialog(null, "Data berhasil dihapus!");
+ display();
+ Clear();
+ }
+ } catch (Exception e) {
+ JOptionPane.showMessageDialog(null, "Error" + e.getMessage());
+ }
+ }
+ }//GEN-LAST:event_btnHapusActionPerformed
+
+ /**
+ * @param args the command line arguments
+ */
+ public static void main(String args[]) {
+ java.awt.EventQueue.invokeLater(new Runnable() {
+ public void run() {
+ new DataPerkuliahan().setVisible(true);
+ }
+ });
+ }
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JPanel bg;
+ private javax.swing.JPanel btnDosen;
+ private javax.swing.JButton btnEdit;
+ private javax.swing.JButton btnHapus;
+ private javax.swing.JButton btnLogout;
+ private javax.swing.JPanel btnMahasiswa;
+ private javax.swing.JPanel btnMatkul;
+ private javax.swing.JPanel btnPerkuliahan;
+ private javax.swing.JButton btnTambah;
+ private javax.swing.JComboBox jComboBox2;
+ private javax.swing.JComboBox jComboBox3;
+ private javax.swing.JComboBox jComboBox4;
+ private javax.swing.JComboBox jComboBox5;
+ private javax.swing.JLabel jLabel1;
+ private javax.swing.JLabel jLabel10;
+ private javax.swing.JLabel jLabel11;
+ private javax.swing.JLabel jLabel12;
+ private javax.swing.JLabel jLabel14;
+ private javax.swing.JLabel jLabel15;
+ private javax.swing.JLabel jLabel2;
+ private javax.swing.JLabel jLabel3;
+ private javax.swing.JLabel jLabel4;
+ private javax.swing.JLabel jLabel5;
+ private javax.swing.JLabel jLabel6;
+ private javax.swing.JLabel jLabel7;
+ private javax.swing.JLabel jLabel8;
+ private javax.swing.JLabel jLabel9;
+ private javax.swing.JPanel jPanel1;
+ private javax.swing.JPanel jPanel2;
+ private javax.swing.JScrollPane jScrollPane1;
+ private javax.swing.JTable jTable1;
+ // End of variables declaration//GEN-END:variables
+}
diff --git a/src/simakademik/Login.java b/src/simakademik/Login.java
new file mode 100644
index 0000000..8a7f6d8
--- /dev/null
+++ b/src/simakademik/Login.java
@@ -0,0 +1,133 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package simakademik;
+
+/**
+ *
+ * @author ALFARIS
+ */
+import java.awt.Color;
+import java.awt.EventQueue;
+import java.awt.Font;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JPasswordField;
+import javax.swing.JTextField;
+import javax.swing.border.EmptyBorder;
+//import com.jakwanaf.SimMahasiswa;
+
+public class Login extends JFrame {
+
+ private JTextField textField;
+ private JPasswordField passwordField;
+ private JButton btnNewButton;
+ private JLabel label;
+ private JPanel contentPane;
+
+ public static void main(String[] args) {
+ EventQueue.invokeLater(() -> {
+ try {
+ Login frame = new Login();
+ frame.setVisible(true);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ });
+ }
+
+ public Login() {
+ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ setBounds(100, 100, 800, 500); // Ukuran frame diubah menjadi lebih kompak
+ setResizable(true); // Memungkinkan resizing window
+ contentPane = new JPanel();
+ contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
+ setContentPane(contentPane);
+ contentPane.setLayout(null);
+ contentPane.setBackground(new Color(50, 50, 50)); // Warna latar belakang diubah
+
+ JLabel lblNewLabel = new JLabel("Login");
+ lblNewLabel.setForeground(new Color(255, 203, 5)); // Warna teks diubah
+ lblNewLabel.setFont(new Font("Arial", Font.BOLD, 40)); // Font dan ukuran teks diubah
+ lblNewLabel.setBounds(310, 30, 180, 80); // Posisi dan ukuran label diubah
+ contentPane.add(lblNewLabel);
+
+ textField = new JTextField();
+ textField.setFont(new Font("Arial", Font.PLAIN, 24));
+ textField.setBounds(260, 150, 280, 50);
+ contentPane.add(textField);
+ textField.setColumns(10);
+
+ passwordField = new JPasswordField();
+ passwordField.setFont(new Font("Arial", Font.PLAIN, 24));
+ passwordField.setBounds(260, 220, 280, 50);
+ contentPane.add(passwordField);
+
+ JLabel lblUsername = new JLabel("Username");
+ lblUsername.setForeground(new Color(255, 255, 255)); // Warna teks diubah
+ lblUsername.setFont(new Font("Arial", Font.BOLD, 24)); // Font dan ukuran teks diubah
+ lblUsername.setBounds(130, 150, 130, 50);
+ contentPane.add(lblUsername);
+
+ JLabel lblPassword = new JLabel("Password");
+ lblPassword.setForeground(new Color(255, 255, 255)); // Warna teks diubah
+ lblPassword.setFont(new Font("Arial", Font.BOLD, 24)); // Font dan ukuran teks diubah
+ lblPassword.setBounds(130, 220, 130, 50);
+ contentPane.add(lblPassword);
+
+ btnNewButton = new JButton("Login");
+ btnNewButton.setFont(new Font("Arial", Font.BOLD, 22));
+ btnNewButton.setBounds(310, 300, 180, 50);
+ btnNewButton.setBackground(new Color(70, 130, 180)); // Warna tombol diubah
+ btnNewButton.setForeground(Color.WHITE); // Warna teks tombol diubah
+ btnNewButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ String userName = textField.getText();
+ char[] password = passwordField.getPassword();
+ String passwordString = String.valueOf(password);
+ try {
+ Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/sim_akademik",
+ "root", "");
+
+ PreparedStatement st = connection.prepareStatement("select name from user where name=? and password=?");
+
+ st.setString(1, userName);
+ st.setString(2, passwordString);
+ ResultSet rs = st.executeQuery();
+ if (rs.next()) {
+ String name = rs.getString("name");
+ JOptionPane.showMessageDialog(btnNewButton, "Login sukses!");
+
+ // Membuka form SimMahasiswa
+ //DataMahasiswa dataMahasiswa = new DataMahasiswa(name);
+ //dataMahasiswa.setVisible(true);
+
+ dispose();
+ } else {
+ JOptionPane.showMessageDialog(btnNewButton, "Login gagal. Username atau password salah");
+ }
+ } catch (SQLException sqlException) {
+ sqlException.printStackTrace();
+ }
+ }
+ });
+ contentPane.add(btnNewButton);
+
+ label = new JLabel("");
+ label.setBounds(0, 0, 794, 494);
+ contentPane.add(label);
+ }
+}
+
diff --git a/src/simakademik/Login1.form b/src/simakademik/Login1.form
new file mode 100644
index 0000000..5c9d27f
--- /dev/null
+++ b/src/simakademik/Login1.form
@@ -0,0 +1,185 @@
+
+
+
diff --git a/src/simakademik/Login1.java b/src/simakademik/Login1.java
new file mode 100644
index 0000000..d5a388a
--- /dev/null
+++ b/src/simakademik/Login1.java
@@ -0,0 +1,238 @@
+package simakademik;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import javax.swing.JOptionPane;
+/**
+ *
+ * @author ALFARIS
+ */
+public class Login1 extends javax.swing.JFrame {
+
+ /**
+ * Creates new form design
+ */
+ public Login1() {
+ initComponents();
+ jButton1.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButton1ActionPerformed(evt);
+ }
+ });
+ }
+
+ /**
+ * This method is called from within the constructor to initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is always
+ * regenerated by the Form Editor.
+ */
+ @SuppressWarnings("unchecked")
+ // //GEN-BEGIN:initComponents
+ private void initComponents() {
+
+ jPanel1 = new javax.swing.JPanel();
+ jLabel1 = new javax.swing.JLabel();
+ jTextField1 = new javax.swing.JTextField();
+ jLabel2 = new javax.swing.JLabel();
+ jTextField2 = new javax.swing.JTextField();
+ jLabel3 = new javax.swing.JLabel();
+ jButton1 = new javax.swing.JButton();
+ jLabel4 = new javax.swing.JLabel();
+ jButton2 = new javax.swing.JButton();
+ jLabel5 = new javax.swing.JLabel();
+
+ setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
+
+ jPanel1.setBackground(new java.awt.Color(255, 255, 255));
+ jPanel1.setForeground(new java.awt.Color(255, 255, 255));
+
+ jLabel1.setFont(new java.awt.Font("Segoe UI", 1, 42)); // NOI18N
+ jLabel1.setForeground(new java.awt.Color(153, 0, 153));
+ jLabel1.setText("Login");
+
+ jLabel2.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
+ jLabel2.setText("Username");
+
+ jLabel3.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
+ jLabel3.setText("Password");
+
+ jButton1.setBackground(new java.awt.Color(153, 0, 153));
+ jButton1.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
+ jButton1.setForeground(new java.awt.Color(255, 255, 255));
+ jButton1.setText("Login");
+ jButton1.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButton1ActionPerformed(evt);
+ }
+ });
+
+ jLabel4.setText("Don't have account?");
+
+ jButton2.setForeground(new java.awt.Color(204, 102, 0));
+ jButton2.setText("Register");
+ jButton2.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButton2ActionPerformed(evt);
+ }
+ });
+
+ jLabel5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gambar/gambar1saja.jpg"))); // NOI18N
+
+ javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
+ jPanel1.setLayout(jPanel1Layout);
+ jPanel1Layout.setHorizontalGroup(
+ jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel1Layout.createSequentialGroup()
+ .addGap(51, 51, 51)
+ .addComponent(jLabel5, javax.swing.GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE)
+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel1Layout.createSequentialGroup()
+ .addGap(41, 41, 41)
+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+ .addComponent(jLabel3)
+ .addComponent(jLabel2)
+ .addComponent(jTextField2)
+ .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 328, Short.MAX_VALUE)
+ .addComponent(jTextField1)
+ .addGroup(jPanel1Layout.createSequentialGroup()
+ .addComponent(jLabel4)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addComponent(jButton2))))
+ .addGroup(jPanel1Layout.createSequentialGroup()
+ .addGap(138, 138, 138)
+ .addComponent(jLabel1)))
+ .addGap(47, 47, 47))
+ );
+ jPanel1Layout.setVerticalGroup(
+ jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanel1Layout.createSequentialGroup()
+ .addGap(54, 54, 54)
+ .addComponent(jLabel1)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 56, Short.MAX_VALUE)
+ .addComponent(jLabel2)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addComponent(jLabel3)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(27, 27, 27)
+ .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 27, Short.MAX_VALUE)
+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(jLabel4)
+ .addComponent(jButton2))
+ .addGap(94, 94, 94))
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 358, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(66, 66, 66))
+ );
+
+ javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+ getContentPane().setLayout(layout);
+ layout.setHorizontalGroup(
+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup()
+ .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(0, 0, Short.MAX_VALUE))
+ );
+ layout.setVerticalGroup(
+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ );
+
+ pack();
+ }// //GEN-END:initComponents
+
+ private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
+ // TODO add your handling code here:
+ }//GEN-LAST:event_jButton2ActionPerformed
+
+ private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
+ // TODO add your handling code here:
+ String username = jTextField1.getText();
+ String password = jTextField2.getText();
+ if (checkLogin(username, password)) {
+ DataMahasiswa dataMahasiswa = new DataMahasiswa();
+ dataMahasiswa.setVisible(true);
+
+ dispose();
+ } else {
+ JOptionPane.showMessageDialog(this, "Username atau password salah!", "Error", JOptionPane.ERROR_MESSAGE);
+ }
+ }//GEN-LAST:event_jButton1ActionPerformed
+
+ private boolean checkLogin(String username, String password) {
+ boolean loginSuccess = false;
+ String url = "jdbc:mysql://localhost:3306/sim_akademik";
+ String dbUser = "root"; // Ganti dengan username database Anda
+ String dbPassword = ""; // Ganti dengan password database Anda
+
+ String query = "SELECT * FROM user WHERE name=? AND password=?";
+
+ try (Connection conn = DriverManager.getConnection(url, dbUser, dbPassword);
+ PreparedStatement stmt = conn.prepareStatement(query)) {
+
+ stmt.setString(1, username);
+ stmt.setString(2, password);
+
+ ResultSet rs = stmt.executeQuery();
+ if (rs.next()) {
+ loginSuccess = true;
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ return loginSuccess;
+ }
+
+ public static void main(String args[]) {
+ /* Set the Nimbus look and feel */
+ //
+ /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
+ * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
+ */
+ try {
+ for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
+ if ("Nimbus".equals(info.getName())) {
+ javax.swing.UIManager.setLookAndFeel(info.getClassName());
+ break;
+ }
+ }
+ } catch (ClassNotFoundException ex) {
+ java.util.logging.Logger.getLogger(Login1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+ } catch (InstantiationException ex) {
+ java.util.logging.Logger.getLogger(Login1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+ } catch (IllegalAccessException ex) {
+ java.util.logging.Logger.getLogger(Login1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+ } catch (javax.swing.UnsupportedLookAndFeelException ex) {
+ java.util.logging.Logger.getLogger(Login1.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
+ }
+ //
+ //
+
+ /* Create and display the form */
+ java.awt.EventQueue.invokeLater(new Runnable() {
+ public void run() {
+ new Login1().setVisible(true);
+ }
+ });
+ }
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JButton jButton1;
+ private javax.swing.JButton jButton2;
+ private javax.swing.JLabel jLabel1;
+ private javax.swing.JLabel jLabel2;
+ private javax.swing.JLabel jLabel3;
+ private javax.swing.JLabel jLabel4;
+ private javax.swing.JLabel jLabel5;
+ private javax.swing.JPanel jPanel1;
+ private javax.swing.JTextField jTextField1;
+ private javax.swing.JTextField jTextField2;
+ // End of variables declaration//GEN-END:variables
+}