Program Komputer (Caritas46)
Program Komputer (Caritas46)
Pencipta:
Dewi Sartika Br Ginting S.Kom, M.Kom
Data Dokumen:
Jenis Ciptaan : Program Komputer
Fakultas : Ilmu Komputer dan Teknologi Informasi
Prodi : Ilmu Komputer
Institusi : Universitas Sumatera Utara
PROGRAM KOMPUTER
Inventor:
Dewi Sartika Br Ginting S.Kom, M.Kom
Richard Fajar Christian
Ferry Fernandoli Sirait
Hotbaen Eliezer Situmorang
Genshin Impact adalah permainan RPG (Role Playing Game) dengan konsep open world yang
merupakan salah satu permainan paling popular di dunia saat ini. Genshin Impact pertama kali
diluncurkan pada 28 September 2020, dimana permainan ini dikembangkan dan diterbitkan
oleh MiHoYo, yang mana MiHoYo berganti nama menjadi Hoyoverse sebagai brand yang
mendunia (di regional Tiongkok, nama brand yang digunakan tetaplah MiHoYo).
Sebagai salah satu permainan yang popular, tentu saja konten yang ditawarkan dalam
permainan sangatlah banyak. Pemain yang memainkan permainan ini akan bisa
mengeksplorasi dunia Teyvat yang luas, dimana perkiraan untuk menjelajah seluruh peta bisa
melebihi 600 jam nonstop.
Selain dari ekslporasi, ada konten lain yakni berupa cerita, yang mana merupakan tulang utama
permainan ini. Cerita yang ditawarkan sangat menarik karena merupakan kisah yang original
dan cukup panjang, dimana perkiraan waktu untuk menyelesaikannya bisa melebihi 60 jam
(termasuk pada cutscene). Selain dari 60 jam cerita utama, masih ada berbagai macam cerita
yang melibatkan karakter sampingan, dimana ada 42 total cerita sampingan, dan ada event tak
berbatas waktu bernama hangout yang melibatkan karakter sampingan lainnya dengan total 18
hangout.
Terlepas dari hal hal yang sudah disebutkan di atas, masih ada event berbatas waktu, umumnya
14 hari atau 21 hari, dimana pemain akan mengikuti event tersebut untuk mendapatkan sumber
daya lebih bagi keberlanjutan pemain dalam dunia Teyvat. Berbagai macam sumber daya
tersebut ada yang hanya bisa didapatkan dari event, sehingga jika kita melewatkannya maka
kita mungkin tidak akan mendapatkan kesempatan di lain waktu.
Dan hal yang terpenting dari permainan ini adalah sistem gacha. Gacha diambil dari bahasa
Jepang gachapon yang berarti pemain mengeluarkan sejenis mata uang yang sah dalam
permainan untuk mendapatkan suatu benda acak dari pool yang tersedia. Pool dalam
permainan ini adalah karakter, dimana pemain bisa mengakusisi berbagai karakter sampingan
melalui sistem gacha ini, dan karakter itulah yang akan menemani kita bertualang di Teyvat.
Setiap karakter memiliki durasi gacha yang terbatas, yang bisa diakusisi dari sebuah banner.
Banner suatu karakter akan muncul lagi dalam kurun waktu tertentu sesuai dengan Keputusan
Hoyoverse.
Selain dari pada gacha karakter, ada juga gacha senjata, dimana ini nanti akan digunakan pada
karakter sesuai dengan tipe senjata, mulai dari pedang, pedang besar, busur, tombak, dan
katalis. Selain dari senjata, pemain juga diharuskan untuk mencari set artifak agar memperkuat
karakternya, juga mencari material talenta untuk meningkatkan kemampuan bertarung milik
karakernya. Dikarenakan Genshin Impact memiliki lebih dari 70 karakter, dari sinilah muncul
ide untuk membuat panduan bagi tiap karakter, senjata, dan artifak agar bisa membantu
pemain dalam membentuk karakter yang dimilikinya menuju ke potensi tertingginya.
Gambar 1. Arsitektur Umum
SKENARIO PENGGUNAAN APLIKASI
KODE PROGRAM
a. Index.php
<?php
include 'controller/c_Riwayat.php';
$cl = new Riwayat;
$cl->Count();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="Author: usu, About: Mycetoma, Category: Expert System">
<meta name="author" content="usu, usu">
<link rel="icon" type="image/png" href="assetsA/assets/images/usur.png" />
#myBtn:hover
{ background-color:
#555;
}
</style>
<script type="text/javascript">
function tampilkanwaktu() { //fungsi ini akan dipanggil di bodyOnLoad dieksekusi tiap 1000ms =
1detik
var waktu = new Date(); //membuat object date berdasarkan waktu saat
var sh = waktu.getHours() + ""; //memunculkan nilai jam, //tambahan script + "" supaya variable sh
bertipe string sehingga bisa dihitung panjangnya : sh.length //ambil nilai menit
var sm = waktu.getMinutes() + ""; //memunculkan nilai detik
var ss = waktu.getSeconds() + ""; //memunculkan jam:menit:detik dengan menambahkan angka 0 jika
angkanya cuma satu digit (0-9)
document.getElementById("clock").innerHTML = (sh.length == 1 ? "0" + sh : sh) + ":" + (sm.length
== 1 ? "0" + sm : sm) + ":" + (ss.length == 1 ? "0" + ss : ss);
}
function googleTranslateElementInit()
{ new
google.translate.TranslateElement({ page
Language: 'id'
}, 'google_translate_element');
}
</script>
</head>
</ul>
</div>
<div id="google_translate_element"></div> -->
</div>
</nav>
Infeksi mycetoma dapat menyebabkan semacam gumpalan keras di bawah kulit. Gumpalan ini
tidak menimbulkan rasa sakit. Namun, kondisi ini nantinya dapat memengaruhi tulang di bawahnya.
Mari ketahui lebih lanjut kejadian penyakit mycetoma beserta gejala dan
pengobatannya.</p><br>
<p><video width="100%" height="100%"
src="assets/video/MERS_CoV_Hajj_Umrah_Infograhic_EN.mp4" poster="assets/video/3ds.webp"
controls></video></p>
</div>
</div>
</div>
</div>
</section>
<footer class="footer text-faded text-center py-5">
<div class="container">
<p style="color: white;"> Copyright © Sistem Pakar <?= date('Y'); ?></p>
</div>
</footer>
function scrollFunction() {
if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20)
{ document.getElementById("myBtn").style.display = "block";
} else {
document.getElementById("myBtn").style.display = "none";
}
}
// When the user clicks on the button, scroll to the top of the document
function topFunction() {
document.body.scrollTop = 0;
document.documentElement.scrollTop = 0;
}
</script>
</body>
</html>
b). Diagnosa.php
<?php include '_header.php';
include "../controller/c_Gejala.php";
$pt = new Gejala;
include "../controller/c_Rekam.php";
$p = new Rekam;
$data = $p->TampilRPasien($_GET['id_pasien']);
?>
<style>
/* The container */
.container
{ position:
relative;
padding-left: 35px;
margin-bottom: 12px;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
</div>
</div>
</div>
</div>
<!-- ============================================================== --
>
<!-- End Bread crumb and right sidebar toggle -->
<!-- ============================================================== --
>
<!-- ============================================================== --
>
<!-- Container fluid -->
<!-- ============================================================== --
>
<div class="container-fluid">
<!-- ==============================================================
-->
<!-- Start Page Content -->
<!-- ==============================================================
-->
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<div class="table-responsive">
<form method="post" action="hdiagnosa.php">
<input type="hidden" name="id_pasien" value="<?php print
$_GET['id_pasien'] ?>">
<?php } ?>
<br>
<hr>
<input type="submit" value="Diagnosa Penyakit" name="ok" class="btn
btn-danger text-white">
</form>
</div>
</div>
</div>
</div>
</div>
<!-- ==============================================================
-->
<!-- ==============================================================
-->
include "../controller/c_Pasien.php";
$p = new Pasien;
?>
<!-- ============================================================== -->
<!-- Page wrapper -->
<!-- ============================================================== -->
<div class="page-wrapper">
<!-- ============================================================== --
>
<!-- Bread crumb and right sidebar toggle -->
<!-- ============================================================== --
>
<div class="page-breadcrumb">
<div class="row align-items-center">
<div class="col-5">
<h4 class="page-title">Manajemen Pasien</h4>
<div class="d-flex align-items-center">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item active" aria-current="page">Pasien</li>
</ol>
</div>
</div>
<div class="col-7">
<div class="text-right upgrade-btn">
<a href="tpasien.php" class="btn btn-danger text-white"><i class="mdi mdi-
plus"></i> Tambah Pasien</a>
</div>
</div>
</div>
</div>
<!-- ============================================================== --
>
<!-- End Bread crumb and right sidebar toggle -->
<!-- ============================================================== --
>
<!-- ============================================================== --
>
<!-- Container fluid -->
<!-- ============================================================== --
>
<div class="container-fluid">
<!-- ==============================================================
-->
<!-- Start Page Content -->
<!-- ==============================================================
-->
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<div class="table-responsive">
<table id="bootstrap-data-table" class="table table-hover table-bordered">
<thead style="background-color: #7f8c8d; color: white;">
<tr>
<th style="color: white;" width="5%">ID</th>
<th style="color: white;">Nama Pasien</th>
<th style="color: white;">Tanggal Lahir</th>
<th style="color: white;">Aksi</th>
</tr>
</thead>
<tbody>
<?php
$data = $p->TampilSemua($id_admin);
if (!isset($data)) {
?>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<?php
} else {
$i=0;
foreach($data as $d)
{
$i++;
?>
<tr>
<td><?php print $i; ?></td>
<td><?php print $d['nama']; ?></td>
<td><?php print $d['tgl_lahir']; ?></td>
<td>
<a href="riwayatrm.php?id_pasien=<?php print $d['id_pasien']; ?>"
class="btn btn-info btn-simple btn-xs text-white" title="Lihat Diagnosa Pasien"><i class="mdi
mdi-eye"></i></a>
d.) Hasil.php
<?php
include 'controller/c_Riwayat.php';
$cl = new Riwayat;
$cl->Count();
include "controller/c_Diagnosa.php";
$dg = new Diagnosa;
?>
<?php
session_start();
include "koneksi/koneksi.php";
if (!isset($_SESSION['username'])) {
header('location:login.php');
} else {
$username = $_SESSION["username"];
$id_admin = $_SESSION['id_admin'];
}
require_once('koneksi/koneksi.php');
$hasil = mysqli_query($con, "select * from admin where username='$username'");
$row = mysqli_fetch_array($hasil);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-
fit=no">
<meta name="description" content="Author: usu, About: Mycetoma, Category: Expert
System">
<meta name="author" content="usu, usu">
<link rel="icon" type="image/png" href="assetsA/assets/images/usur.png" />
<style type="text/css">
#myBtn {
display: none;
position: fixed;
bottom: 20px;
right: 30px;
z-index: 99;
font-size: 18px;
border: none;
outline: none;
background-color: red;
color: white;
cursor: pointer;
padding: 15px;
border-radius: 4px;
}
#myBtn:hover {
background-color: #555;
}
</style>
<script type="text/javascript">
function tampilkanwaktu() { //fungsi ini akan dipanggil di bodyOnLoad
dieksekusi tiap 1000ms = 1detik
var waktu = new Date(); //membuat object date berdasarkan waktu saat
var sh = waktu.getHours() + ""; //memunculkan nilai jam, //tambahan
script + "" supaya variable sh bertipe string sehingga bisa dihitung panjangnya : sh.length
//ambil nilai menit
var sm = waktu.getMinutes() + ""; //memunculkan nilai detik
var ss = waktu.getSeconds() + ""; //memunculkan jam:menit:detik dengan
menambahkan angka 0 jika angkanya cuma satu digit (0-9)
document.getElementById("clock").innerHTML = (sh.length == 1 ? "0" +
sh : sh) + ":" + (sm.length == 1 ? "0" + sm : sm) + ":" + (ss.length == 1 ? "0" + ss : ss);
}
function googleTranslateElementInit() {
new google.translate.TranslateElement({
pageLanguage: 'id'
}, 'google_translate_element');
}
</script>
</head>
<body onload="tampilkanwaktu();setInterval('tampilkanwaktu()', 1000);">
<span class="sr-only">(current)</span>
</a>
</li>
<li class="nav-item active px-lg-4">
<a class="nav-link text-uppercase text-expanded"
href="diagnosa.php">Diagnosa Penyakit</a>
</li>
<li class="nav-item px-lg-4">
<a class="nav-link text-uppercase text-expanded"
href="dokter/riwayat.php">Hasil</a>
</li>
<li class="nav-item px-lg-4">
<a class="nav-link text-uppercase text-expanded"
href="panduan.php">Panduan</a>
</li>
<li class="nav-item px-lg-4">
<a class="nav-link text-uppercase text-expanded"
href="profile.php">Profile</a>
</li>
<li class="nav-item px-lg-4">
<a class="nav-link text-uppercase text-expanded" href="logout.php">Logout</a>
</li>
</ul>
</ul>
</div>
<div id="google_translate_element"></div> -->
</div>
</nav>
if (isset($_POST['gejala'])) {
if (count($_POST['gejala']) < 2) {?>
<script language="JavaScript"> alert('Pilih minimal 5 gejala'); document.location =
'diagnosa.php'
</script>
<?php
/*echo "Pilih minimal 5 gejala";*/
} else {
$sql = "SELECT GROUP_CONCAT(b.id), a.ds FROM ds_aturan a JOIN ds_penyakit b ON
a.id_penyakit=b.id WHERE a.id_gejala IN(" . implode(',', $_POST['gejala']) . ")
GROUP BY a.id_gejala";
$result = mysqli_query($con, $sql);
$gejala = array();
while ($row = $result->fetch_row()) {
$gejala[] = $row;
}
//--- menentukan environement
$sql = "SELECT GROUP_CONCAT(id) FROM ds_penyakit";
$result = mysqli_query($con, $sql);
$row = $result->fetch_row();
$fod = $row[0];
if ($k != "θ") { // 9
}
}
}
$theta = 1;
// 11
foreach ($densitas2 as $d) $theta -= $d[1]; // 12 & 13
$densitas2[] = array($fod, $theta); // 14
$m = count($densitas2); 15
$densitas_baru = array(); // 16
// for($y=0;$y<$m;$y++){ // 17
// for($x=0;$x<2;$x++){ // 18
// if(!($y==$m-1 && $x==1)){ // 19
// $v=explode(',',$densitas1[$x][0]); // 20
// $w=explode(',',$densitas2[$y][0]); // 21
// sort($v); // 22
// sort($w); // 23
// $vw=array_intersect($v,$w); // 24
// if(empty($vw)){ // 25
// $k="θ"; // 26
// }else{
// $k=implode(',',$vw); // 27
// }
// if(!isset($densitas_baru[$k])){ // 28
// $densitas_baru[$k]=$densitas1[$x][1]*$densitas2[$y][1]; // 29
// }else{
// $densitas_baru[$k]+=$densitas1[$x][1]*$densitas2[$y][1]; // 30
// }
// }
// }
// }
$densitas_baru = $dg->perkaliantabel($m, $densitas1, $densitas2,
$densitas_baru); foreach ($densitas_baru as $k => $d) { // 31
if ($k != "θ") { // 32
$densitas_baru[$k] = $d / (1 - (isset($densitas_baru["θ"]) ? $densitas_baru["θ"] :
0)); //33
}
}
//menampilkan array perhitungan
/*print_r($densitas_baru);*/
}
//--- perangkingan
unset($densitas_baru["θ"]); // 34
arsort($densitas_baru);
//menampilkan array perhitungan
/*print_r($densitas_baru);*/
$nm = $_POST['nm'];
//--- memasukkan hasil diagnosa ke database
\$input = mysqli_query($con, "INSERT INTO diagnosa (tanggal, gejala, penyakit, nilai,
persentase, nm) values('$tanggal', '$gejala', '$penyakit', '$nilai', '$persentase', '$nm')");
\if (count($_POST['gejala']) < 5) {
if (round($densitas_baru[$codes[0]] * 100, 2) < 80)
{ echo "<br><br><br>";
}
}
}
} ?>
</p>
<a href="dokter/riwayat.php" target="_blank" class="btn btn-primary">Lihat Riwayat</a>
</div>
</div>
</div>
</div>
</div>
</section>
function scrollFunction() {
if (document.body.scrollTop > 20 || document.documentElement.scrollTop
> 20) {
document.getElementById("myBtn").style.display = "block";
} else {
document.getElementById("myBtn").style.display = "none";
}
}
// When the user clicks on the button, scroll to the top of the document
function topFunction() {
document.body.scrollTop = 0;
document.documentElement.scrollTop = 0;
}
</script>
</body>
</html>
REFERENSI
Dahria, M., Silalahi, R., & Ramadhan, M. (2013). “ Sistem Pakar Metode Dempster Shafer
Untuk Menentukan Jenis Gangguan Perkembangan Pada Anak “. Jurnal Saintikom
Vol 12 No. 1.
Agustina, D., Mustafidah, H., dan Purbowati, M. R. 2016, “Sistem Pakar Diagnosa
Penyakit Kulit Akibat Infeksi Jamur”, JUITA, ISSN: 2086-9398, Vol 4, No. 2, pp. 67-
77,
Arhami, M., 2005. “Konsep Dasar Sistem Pakar”, Yogyakarta: Andi Offset,
Anita Rosana MZ, I Gede Pasek Suta Wijaya, dan Fitri Bimantoro., 2020., “ Sistem
Pakar Diagnosa Penyakit Kulit pada Manusia dengan Metode Dempster Shafer ” ,Vol 4,
No. 2,
Agus Silpiah, Diki Arisandi, dan Wita Yulianti,2021.“ Perancangan Sistem Pakar dalam
Mendiagnosa Penyakit Skizofrenia dengan Metode Demspter Shafer”, Vol 1 No 1,
Rahaju D, Ervianti E, Hoesin F, (2002) Pemeriksaan Klinik dan Patologi dalam Diagnosis
Misetoma 14(3):252-61 : Airlangga University Press
Aprilia, I.F., Tedy, R., Syamsul, B., 2018. “ Aplikasi Sistem Pakar Diagnosa Penyakit pada
Anak Dengan Inference Forward Menerapkan Metode Dempster Shafer Berbasis Web “ .
Jurnal Coding, No.3, Vol.6, 25-35.