Kamis, 22 Desember 2016

Aplikasi i-kios Indomaret Berbasis Web

Foto







Deskripsi

i-Kios аԁаƖаh mesin mirip ATM уаnɡ memproses kebutuhan sobat secara mandiri. i-Kiossudah tersedia di lebih dari 2.000 toko INDOMARET. i-Kios juga bertujuan untuk mempermudah dalam menentukan produk yang ingin dipesan. Jika ingin Beli Pulsa (all provider), Bayar Online Shopping, Booking tiket KERETA API, Pesan tiket PESAWAT (Citilink, Air Asia, Garuda, Lion Air, Sriwijaya Air), Pesan tiket KONSER, Pesan produk i-DELIVERY semuanya bisa dilakukan di mesin i-Kios
Contohnya untuk memesan tiket kereta api, sobat cukup memilih stasiun keberangkatan, stasiun tujuan, tanggal keberangkatan, dan јυmƖаh penumpang. Jangan lupa sediakan kartu identitas ԁаn nomor telepon masing-masing penumpang.
SеtеƖаh ѕеmυа tahapan berhasil dilewati, i-Kios аkаn memberi tаhυ struk bіѕа diambil, dan bayar di kasir sesuai ԁеnɡаn pesanan kita.


Model

Usecase i-kios



Activity Membeli Pulsa

Activity Membeli Token

Activity Menerima Pembayaran


Sequence Diagram Pulsa

Sequence Diagram Token
Sequence Diagram Admin
PDM



Class Diagram 

Implementasi Prototype







Untuk Source Code bisa dilihat di link berikut
https://github.com/Anandij/pplikios/tree/master/CIPPL

Referensi :
http://emiscara.com/wp-content/uploads/2016/02/cara-membeli-pulsa-listrik-di-indomaret.png

Sekian dan terima kasih

Nama Kelompok :

Nurul Wachidah              5114100052
Anandi Jaya Santoso      5114100096
Naufan Arifie S              5114100136

Senin, 28 November 2016

Design Pattern : Visitor

Design Pattern adalah sebuah istilah di dalam rekayasa perangkat lunak yang mengacu pada solusi umum yang bisa dipergunakan kembali atau berulang-ulang untuk menyelesaikan masalah-masalah yang umum terjadi dalam konteks tertentu atau khusus yang ditemui pada desain perangkat lunak. Sebuah pola desain yang sudah terbentuk bukan berarti desain tersebut dapat langsung digunakan untuk menulis program.

Visitor 

Dalam pemrograman berorientasi obyek dan rekayasa perangkat lunak, visitor pattern adalah cara untuk memisahkan algoritma dari struktur objek yang beroperasi. Hasil praktis dari pemisahan ini adalah kemampuan untuk menambahkan operasi baru untuk struktur obyek yang sudah ada tanpa memodifikasi struktur tersebut. Ini adalah salah satu cara untuk dengan mudah mengikuti prinsip terbuka / tertutup. Intinya, pengunjung memungkinkan seseorang untuk menambahkan fungsi virtual baru untuk sebuah kelompok kelas tanpa memodifikasi kelas sendiri, melainkan seseorang menciptakan kelas pengunjung yang mengimplementasikan semua spesialisasi yang tepat dari fungsi virtual. Pengunjung mengambil referensi misalnya sebagai masukan, dan mengimplementasikan tujuan melalui pengiriman ganda.

Contoh diagram patternnya

Source Code

 ===Sources===  
 <source lang="c++">  
 #include <iostream>  
 #include <vector>  
 class AbstractDispatcher;     // Forward declare AbstractDispatcher  
 class File {     // Parent class for the elements (ArchivedFile, SplitFile and ExtractedFile)  
 public:  
      // This function accepts an object of any class derived from AbstractDispatcher and must be implemented in all derived classes  
      virtual void accept(AbstractDispatcher &dispatcher) = 0;  
 };  
 // Forward declare specific elements (files) to be dispatched  
 class ArchivedFile;  
 class SplitFile;  
 class ExtractedFile;  
 class AbstractDispatcher {      // Declares the interface for the dispatcher  
 public:  
      // Declare overloads for each kind of a file to dispatch  
      virtual void dispatch(ArchivedFile &file) = 0;  
      virtual void dispatch(SplitFile &file) = 0;  
      virtual void dispatch(ExtractedFile &file) = 0;  
 };  
 class ArchivedFile: public File {      // Specific element class #1  
 public:  
      // Resolved at runtime, it calls the dispatcher's overloaded function, corresponding to ArchivedFile.  
      void accept(AbstractDispatcher &dispatcher) override {  
           dispatcher.dispatch(*this);  
      }  
 };  
 class SplitFile: public File {      // Specific element class #2  
 public:  
      // Resolved at runtime, it calls the dispatcher's overloaded function, corresponding to SplitFile.  
      void accept(AbstractDispatcher &dispatcher) override {  
           dispatcher.dispatch(*this);  
      }  
 };  
 class ExtractedFile: public File {      // Specific element class #3  
 public:  
      // Resolved at runtime, it calls the dispatcher's overloaded function, corresponding to ExtractedFile.  
      void accept(AbstractDispatcher &dispatcher) override {  
           dispatcher.dispatch(*this);  
      }  
 };  
 class Dispatcher: public AbstractDispatcher {     // Implements dispatching of all kind of elements (files)  
 public:  
      void dispatch(ArchivedFile &file) override {  
           std::cout << "dispatching ArchivedFile" << std::endl;  
      }  
      void dispatch(SplitFile &file) override {  
           std::cout << "dispatching SplitFile" << std::endl;  
      }  
      void dispatch(ExtractedFile &file) override {  
           std::cout << "dispatching ExtractedFile" << std::endl;  
      }  
 };  
 int main() {  
      ArchivedFile archivedFile;  
      SplitFile splitFile;  
      ExtractedFile extractedFile;  
      std::vector<File*> files;       
      files.push_back(&archivedFile);  
      files.push_back(&splitFile);  
      files.push_back(&extractedFile);  
      Dispatcher dispatcher;  
      for (File* file : files) {  
           file->accept(dispatcher);  
      }  
 }  
 </source>  

Output








Sumber :
https://sourcemaking.com/design_patterns/visitor
Sekian terima kasih.

Selasa, 25 Oktober 2016

Perancangan Perangkat Lunak - SI Puskesmas

Studi Kasus
Sistem Informasi Puskesmas, aplikasi perumpaan ketika seseorang sedang sakit dia harus pergi kedoker, ibaratnya adalah aplikasi ini adalah sebuah tempat yang "menyerupai seperti rumah sakit"
Aktor yang terlibat didalamnya adalah seorang pasien, petugas loket, seorang dokter, dan apoteker
Selanjutnya kita list interaksi-interaksi yang ada didalam sistem informasi puskesmas. Interaksi ini kita sebut dengan use case.

1. Pendaftaran Pasien
Pasien melakukan registrasu sebelum berobat
2. Pemeriksaan Kesehatan
Sesudah mendaftar pasien akan diberi nomor antri, kemudian dokter akan memanggil sesuai nomor urut yang kemudian pasien akan diperiksa kesehatannya.
3. Tindakan Medis
Dokter kemudian menjelaskan apakah penyakit yang diderita parah atau biasa saja
4. Pemberian Resep
Setelahnya dokter akan memberikan resep sesuai penyakit yang diderita oleh pasien


Kemudian dari usecase ada juga sequence diagram
Pendaftaran Pasien

Pemeriksaan Kesehatan

Pemberian Resep
Ambil Obat

Untuk class diagram SI Puskesmas


Program ini menggunakan C++ jadi tampilannya masih berupa console sederhana.


User (pasien) harus mendaftar terlebih dahulu sebelum diperiksa oleh si dokter, yang kemudian pasien menunggu antrian untuk dipangil.

Pasien dipanggil kemudian menceritakan apa yang dikeluhkan oleh si pasien kepada doker, setelah itu dokter memberikan saran kepada pasien kemudian dokter memberikan resep obat untuk dibawa kebagian apoteker.

Pasien menerima obat dan diperbolehkan pulang.
Untuk source code nya bisa didownload disini :) 

referensi studi kasus http://www.slideshare.net/ghofarsensei/use-casediagram
Anandi Jaya Santoso
5114100096
PPL E

Senin, 24 Oktober 2016

Prototype ATM Berdasarkan Use Case Diagram

Setelah membuat usecase diagram sekarang coba membuat prototype programnnya. Untuk fungsinya belum sampai detail lengkap, hanya tertentu saja berikut adalah fungsi nasabah

class nasabah{
    public:
        int get_pin();
        int get_saldo();
        string get_nama();
        int get_norek();
        int setpin (int pin);
        int setsaldo (int saldo);
        void setnama (string nama);
        void setnorek (int norek);
        
    private:
    int pinnas;
    int saldonas;
    string namanas;
    int norekeningnas;
};

berikut adalah output berupa console



Sekian terima kasih.

Senin, 26 September 2016

Use Case Diagram ATM

Pernahkah anda mengambil uang di mesin atm?, pasti pernah lah ya. Tapi apa anda tau bagaimana cara mesin atm bekerja? pasti pada penasaran, disini akan dijelaskan bagaimana proses mesin atm bekerja dimulai dari gambar usecase diagram dan sequence diagram. Berikut gambar dan penjelasannya

itu adalah gambar menu awal dari mesin atm setelah berhasil login atau masukkan pin, berikut adalah gambar usecase diagramnya

Berikut mengenai penjelasannya
Teknisi / Operator
1. Sistem pada mesin atm nyala
Tugas dari operator salah satunya adalah menyalakan mesin agar bisa digunakan oleh pengguna nya. Ketika mesin menyala pertama kali, mesin akan meminta data ke operator berapakah uang yang ada pada atm tersebut. Setelah mendapat data dari operator, maka mesin atm mengirim data tersebut ke jaringan pusat bank. Setelah itu mesin atm siap digunakan.



2. Sisten pada mesin atm mati
Operator juga mempunyai tugas untuk mematikan mesin atm, ketika mesin atm dimatikan maka proses koneksi jaringan pusat ke bank akan terputus.



Pengguna
1. Session - Transaksi
Setelah user berhasil melakukan login maka user dihadapkan langsung dengan menu halaman utama atm, seperti contoh pada gambar menu atm diatas. Pilihan transaksi sesuai dengan kebutuhan pengguna.

2. Ganti Pin
Pengguna bisa mengubah pin sesuai yang diinginkan, yaitu mesin atm akan meminta untuk memasukkan pin lama. jika benar maka pin berhasil diubah, apabila jika salah maka pin pengguna akan terblokir dan harus mengurus pada bank terdekat yang dituju. Jika benar nasabah akan dimintai untuk memasukkan pin baru, dan atm akan meminta verifikasi dengan memasukkan pin baru tersebut lagi. Jika benar maka atm akan melakukan update pada database bank melalui konsol. Jika sukses maka akan keluar struk, jika gagal maka akan muncul tulisan error pada layar atm.

3. Transfer
Pengguna akan memasukkan nomor tujuan. Lalu atm akan memverifikasikan data tentang tujuan transfer dan nominal. Jika nasabah menyetujui maka transfer akan dilakukan dan saldo nasabah akan berkurang dan saldo tujuan akan bertambah.



4. Informasi Saldo
Pengguna bisa meminta / mengecek informasi saldo mereka pada mesin atm. Prosesnya adalah atm akan meminta data pada bank pusat setelah mendapatkan informasi tersebut maka akan ditampilkan ke layar atm.



5. Pembayaran
Pada menu ini pengguna bisa melakukan transaksi pembayaran dengan instansi tertentu yang terdaftar pada jaringan bank.

6. Penarikan Tunai
Pada menu ini pengguna melakukan penarikan tunai dimana user bisa mengambil uang yang diminta sesuai dengan data saldo yang dimiliki oleh pengguna.

7. Isi Ulang Kartu
Pengguna bisa membeli/mengisi ulang kartu prabayar dari bni seperti e-toll card. E-toll card ini digunakan untuk membayar toll fee secara otomatis tanpa mengeluarkan uang fisik.

Sekian Terima Kasih.
Anandi Jaya Santoso
5114100096
PPL E

Selasa, 13 September 2016

Use Case Diagram Pada AC

Use case diagram adalah suatu model yang dangat fungsional dalam sebuah sistem yang menggunakan actor dan use case. Sedangkan pengertian dari use case sendiri adalah layanan atau fungsi-fungsi yang tersedia pada sistem untuk penggunannya.
Contoh usecase diagram pada AC 

Sekian itu saja mohon maaf apabila ada kesalahan, terima kasih. :)

Nama : Anandi Jaya Santoso
NRP : 5114100096
PPL E

Jumat, 15 April 2016

Tentang CodeIgniter Framework

Dalam pembuatan suatu web bisa digunakan yang namanya framework, gunanya adalah untuk mempermudah kita didalam pembuatannya karena sesuai namanya framework yang artinya adalah kerangka kerja yang isinya adalah fungsi-fungsi, konsep sehingga membentuk suatu sistem tertentu.

Code Igniter

Untuk menggunakan framework CI dibutuhkan sebuah tools yaitu xampp/wamp dan codeigniternya sendiri. untuk CI-nya bisa didownload di www.codeigniter.com kemudian untuk installasinya yaitu taruh file hasil download-an tadi di folder htdocs/[folder CI]. Kemudian buka di web browser, jika berhasil maka akan tampak seperti pada gambar

Setelah meng-install code igniter nya disana akan terlihat folder seperti aplication yang isinya adalah controller, view dan lain-lain. gunakan sublime text sebagai text editornya agar lebih mudah.

Selanjutnya adalah kita akan mencoba membuat tulisan hello word menggunakan frameworrk ci ini.
Pertama masuk ke folder ci pada routes.php terlihat disana bahwa ada yang namanya default controller, jadi default controller ini berfungsi untuk apabila kita hanya menuliskan link pada web semisal localhost/ci maka halaman yang akan muncul adalah halaman yang ditujukan pada default controllernya.
 <?php  
 defined('BASEPATH') OR exit('No direct script access allowed');  
 $route['default_controller'] = 'welcome';  
 $route['404_override'] = '';  
 $route['translate_uri_dashes'] = FALSE;  
Selanjutnya masuk ke folder controller edit file Welcome.php disitu kita lihat bahwa kita akan membuat fungsi yang nantinya akan ditampilkan pada web browser yang mana fungsi tersebut bernama index2 dan akan menampilkan isi dari file 1_hello_world.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {
 public function index2()
 {
  $this->load->view('1_hello_world'); 
 }
} 
setelah buat fungsi nya masuk ke folder view buat file 1_hello_world.php, file ini adalah file isi yang akan kita tampilkan ke web browser
sederhana saja....
 <!DOCTYPE html>  
 <html>  
 <head>  
      <title>coba</title>  
 </head>  
 <body>  
      <h1>Hello World !!!</h1>  
 </body>  
 </html>  
Pada  route bagian default controller bahwa kita memanggil class welcome dan fungsi index2, jika sudah coba buka di browser http://localhost:50123/CodeIgniter-3.0.6/index.php/welcome/index2


Phone Book Menggunakan Database

Selanjutnya kita akan mencoba membuat phone book yang datanya berada pada database. kita akan mencoba menampilkan data dari model ke view. Hal pertama yang harus dilakukan adalah buat databasenya terlebih dahulu


Hal kedua yang harus dilakukan adalah masuk ke folder codeigniternya pada bagian application/config/database.php, isikan nama database sesuai dengan punya anda, disini nama databasenya sebagai contoh adalah dataci. Kemudian buat modelnya masuk pada bagian folder model. Buat file mymodel.php
 <?php  
 defined('BASEPATH') OR exit('No direct script access allowed');  
 class Mymodel extends CI_Model   
 {  
      public function tampil_mahasiswa()  
      {  
           $data = $this->db->query('select * from mahasiswa');  
           return $data->result_array();  
      }  
 }  
Kemudian buat controllernya masuk ke folder controller lalu buat fungsi untuk memanggil fungsi yang kita buat di model disini controllernya namanya welcome.php
 <?php  
 defined('BASEPATH') OR exit('No direct script access allowed');  
 class Welcome extends CI_Controller {  
      public function index()  
      {  
           $data = $this->mymodel->tampil_mahasiswa();  
           $this->load->view('2_tampil', array('data'=>$data));  
      }  
 }  
Setelah itu buat viewnya untuk menampilkan datanya pada browser
 <!DOCTYPE html>   
 <html>   
 <head>   
  <title>PhoneBook</title>   
 </head>   
 <body>   
  <h1>My Phonebook</h1>   
  <table border="1">   
  <tr>   
   <th>Nama</th>   
   <th>Alamat</th>   
   <th>Email</th>   
   <th>Kelas</th>   
  </tr>   
  <?php foreach ($data as $key){   
  ?>   
  <tr>   
   <td><?php echo $key['Nama']; ?></td>   
   <td><?php echo $key['Alamat']; ?></td>   
   <td><?php echo $key['Email']; ?></td>  
   <td><?php echo $key['Kelas']; ?></td>   
  </tr>   
  <?php   
  }   
  ?>   
  </table>   
 </body>   
 </html>   
Sesuaikan nama fieldnya dengan nama database anda, setelah itu coba dibrowser maka akan menampilkan data seperti yang ada pada database

Sudah terlihat dan data yang ditampilkan sesuai dengan yang ada di database. Cukup sekian kurang lebihnya mohon maaf yang sebesar-besarnya semoga bermanfaat dan terimah kasih :)

Jumat, 01 April 2016

ETS Pemrograman Web 2015/2016

Kunjungi web kami stickmypride.com

1. Tugas web yang telah dibuat

  • Web yang dikerjakan : stickmypride.com
  • Biaya web yang dikeluarkan
    • Hosting Unlimited : Rp.394.800
    • Domain "stickmypride".com : Rp 0- (gratis dari hostingnya)  
Web Stickmypride.com adalah web kelompok saya. Web ini nantinya akan dibuat menjadi website untuk jual beli stiker. pengerjaan web ini sementara akan menggunakan CMS sebagai awal dari tampilannya tetapi nantinya web ini akan di buat dengan scratch ato ngoding sendiri. website ini masih dalam pengerjaan jadi ditunggu saja yaaa

Fitur-fitur yang ada pada web
Fitur web ini masih belum seberapa. berikut adalah tampilannya 


 1. Tampilan Awal
 

2. Fitur Login

3. Fitur Signup

4. Menampilkan Stiker Sesuai Kategori

 

2. Program untuk memonitoring praktikum

Untuk mengoneksikan php ke database buat koneksi.php 


 <?php   
    $host='localhost';   
    $db='uts_pweb';   
    $user='root';   
    $pass='';   
    $conn=mysqli_connect($host,$user,$pass,$db);   
    if(!$conn) {   
       die("Gagal Koneksi: " . mysqli_connect_error());   
    }   
    else {   
       echo "Berhasil Konek";   
    }   
  ?>   

 Selanjutnya buat untuk login.php


 <!DOCTYPE html>  
 <html>  
 <head>  
      <title>Login</title>  
 </head>  
 <style>  
      .tabel{  
           background-color: salmon;  
           width: 20%;  
           margin: left;  
      }  
 </style>  
 <body>  
      <div class="tabel">  
           <form action="" method="post">  
           <table>  
                <tr>  
                     <td>Username</td>  
                     <td>:</td>  
                     <td><input type="text" name="username"></input></td>  
                </tr>  
                <tr>  
                     <td>Password</td>  
                     <td>:</td>  
                     <td><input type="text" name="password"></input></td>  
                </tr>  
                <tr>  
                     <td></td><td></td>  
                     <td>  
                          <input type="submit" name="login" value="Login"></input>  
                     </td>  
                </tr>  
           </table>  
           </form>            
      </div>  
 </body>  
 </html>  

Selanjutnya untuk menampilkan data.php


  <?php   
    include('koneksi.php');   
    $query = "SELECT * FROM mk";   
    $result = mysqli_query($conn,$query);   
    $i = 1;   
    echo "<h1>Daftar Mata Praktikum dan Jumlah Praktikan</h1>";   
    echo "<table border='1'>   
            <tr>   
              <th>kode_mk</th>   
              <th>nama_mk</th>   
              <th>jumlah_praktikan</th>   
            </tr>";   
    if(mysqli_num_rows($result) > 0)   
    {   
       while($row = mysqli_fetch_assoc($result)) {   
         echo "<tr>   
              <td>".$row["kode_mk"]."</td>   
              <td>".$row["nama_mk"]."</td>   
              <td align='center'>".$row["jumlah_praktikan"]."</td>   
            </tr>";   
         $i+=1;   
       }   
       echo "</table>";   
    }   
    echo "<br>";   
    echo '<a href="tambah_data_mk.php"><input type="submit" value="Tambah Data MK">';   
    mysqli_close($conn);   
  ?>   
Sekian untuk post kali ini, kurang lebihnya mohon maaf, Terima Kasih