Selasa, 14 Juni 2022

Pemrograman Berbasis Kerangka Kerja A | Tugas 10

MODELS ON CI

Pada artikel ini, saya Gabriel Solomon Sitanggang dengan NRP 5025201165 akan menggunakan MVC pada CI 3. Untuk referensi dapat dilihat di link ini.

Model View Controller (MVC) adalah sebuah pola arsitektur dalam membuat sebuah aplikasi dengan cara memisahkan kode menjadi 3 bagian berikut.

  • Model
Model merupakan bagian yang bertugas dalam menyiapkan, mengatur, memanipulasi, dan mengorganisasikan data yang ada dalam database.

  • View
View merupakan bagian yang bertugas untuk menampilkan informasi dalam bentuk Graphical User Interface (GUI)

  • Controller
Controller merupakan bagian yang bertugas untuk menghubungkan serta mengatur model dan view agar dapat saling terhubung.

Alur dari MVC adalah sebagai berikut
  • Pertama-tama, view akan meminta data untuk ditampilkan dalam bentuk grafis kepada pengguna
  • Permintaan tadi akan diterima oleh controller dan diteruskan ke model untuk diproses
  • Setelah itu, model akan mencari dan mengolah data yang diminta di dalam database
  • Kemudian, model akan mengirim data tersebut kepada controller untuk ditampilkan di view
  • Dan di akhir, controller akan mengambil data hasil pengolahan model dan mengaturnya di bagian view untuk ditampilkan kepada pengguna
 Manfaat MVC adalah sebagai berikut
  • Mempermudah pemeliharaan
  • Perbaikan bug atau error lebih cepat
  • Dapat melakukan testing dengan lebih mudah
  • Penulisan kode menjadi lebih rapi
  • Proses pengembangan aplikasi menjadi lebih efisien
Penerapan CRUD pada CodeIgniter :

















Untuk source code nya dapat di lihat di link berikut.

Pemrograman Berbasis Kerangka Kerja A | Tugas 11

 AUTHENTICATION USING LARAVEL

Pada artikel ini, saya Gabriel Solomon Sitanggang NRP 5025201165

Akan mengimplementasikan framework laravel yaitu membuat form registrasi, login, change password dengan menggunakan fitur CRUD (Create, Read, Update, Delete).


Dokumentasi dari form ini dapat dilihat sebagai berikut
















Source code dari form di atas dapat diakses di link berikut.

Pemrograman Berbasis Kerangka Kerja A | Tugas 9

VIEW DENGAN CODE IGNITER

Pada tugas 9 ini, kita akan menggunakan bootstrap untuk melakukan view admin. Sebelum memulai mengerjakan tugas ini, ada beberapa hal yang perlu dipersiapkan yaitu sebagai berikut
  1. File project Codeigniter
  2. XAMPP
  3. File SB Admin
Link download SB Admin dapat didownload di link berikut : SB Admin
Link download CodeIgniter dapat didownload di link berikut : CodeIgniter
Langkah-langkah yang harus dilakukan menggunakan bootstrap template SB Admin pada Codeigniter sebagai berikut
  1. Konfigurasi Codeigniter
  2. Membuat controller untuk menampilkan view
  3. Simpan file SB Admin pada folder public/assets
  4. Membuat view admin menggunakan template dari file SB Admin
  5. Lakukan link/ref ke file css pada folder public/assets pada view admin yang dibuat
Berikut dokumentasi SB Admin yang telah dibuat


Untuk link source code nya dapat di lihat di link ini.

Pemrograman Berbasis Kerangka Kerja A | Tugas 8

IMPLEMENTASI MVC (MODEL, VIEW, CONTROLLER) MENGGUNAKAN CODE IGNITER

Pada artikel ini, saya akan membuat halaman web yang berisikan profil diri dengan menggunakan CodeIgniter. Sebelumnya, unduh terlebih dahulu Code Igniter pada link berikut :

Code Igniter

Kemudian unduh XAMPP pada link berikut :

XAMPP

Untuk pengimplementasiannya, saya mengikuti tutorial yang ada di web berikut

Tutorial


PEMBUATAN DATA DIRI

  • Masukkan folder Code Igniter yang telah didownload ke dalam xampp/htdocs, lalu rename folder menjadi Tugas8 (penamaan folder bebas)
  • Buka folder Tugas8 menggunakan Visual Studio Code
  • Buka file application/controllers/Welcome.php. Tambahkan route /profile/ didalam controllers welcome dengan method profile dibawah method index seperti kodingan dibawah
 <?php  
 defined('BASEPATH') OR exit('No direct script access allowed');  
 class Welcome extends CI_Controller {  
   /**  
    * Index Page for this controller.  
    *  
    * Maps to the following URL  
    *   http://example.com/index.php/welcome  
    * - or -  
    *   http://example.com/index.php/welcome/index  
    * - or -  
    * Since this controller is set as the default controller in  
    * config/routes.php, it's displayed at http://example.com/  
    *  
    * So any other public methods not prefixed with an underscore will  
    * map to /index.php/welcome/<method_name>  
    * @see https://codeigniter.com/user_guide/general/urls.html  
    */  
   public function index()  
   {  
     // fungsi untuk me-load view welcome_message.php sebagai index  
     $this->load->view('welcome_message');  
   }  
   public function profile()  
   {  
     // fungsi untuk me-load view profile.php  
     $this->load->view('profile');  
   }  
 }  
asdf
  • Buka file application/config/routers.php dan tambahkan kode route untuk profile

 <?php  
 defined('BASEPATH') OR exit('No direct script access allowed');  
 $route['default_controller'] = 'welcome';  
 $route['profile'] = 'welcome/profile';  
 $route['404_override'] = '';  
 $route['translate_uri_dashes'] = FALSE;  
  • Buka file application/views/welcome_message.php dan tambahkan kode program sebagai berikut

 <?php  
 defined('BASEPATH') OR exit('No direct script access allowed');  
 ?><!DOCTYPE html>  
 <html lang="en">  
 <head>  
   <meta charset="utf-8">  
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">  
   <title>Gabriel's Bio</title>  
   <style type="text/css">  
   body {  
     margin-top:20px;  
     color: #000;  
     text-align: left;  
     background-color: #e2e8ff;    
   }  
   .card {  
     box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);  
     max-width: 300px;  
     margin: auto;  
     text-align: center;  
     font-family: arial;  
     background-color:#ffffff;  
   }  
   .title {  
     color: #000000;  
     font-size: 18px;  
   }  
   button {  
     border: none;  
     outline: 0;  
     display: inline-block;  
     padding: 8px;  
     color: white;  
     background-color: #7FCDCD;  
     text-align: center;  
     cursor: pointer;  
     width: 100%;  
     font-size: 18px;  
     color: white;  
   }  
   a {  
     text-decoration: none;  
     font-size: 22px;  
     color: black;  
   }  
   button:hover, a:hover {  
     opacity: 0.7;  
   }  
   </style>  
 </head>  
 <body>  
   <h2 style="text-align:center; font-family:Arial;">User Profile Card - Tugas PBKK A</h2>  
   <div class="card">  
     <img src="https://media-exp1.licdn.com/dms/image/C4E03AQEY7pPDs-HSNA/profile-displayphoto-shrink_200_200/0/1632035278309?e=1660780800&v=beta&t=G2aQAJUf6x7cYCPkHYBcjNEUdCCML8Z75O2GkeVtDEQ" alt="Gabriel" style="width:80%">  
     <h1>Gabriel Solomon Sitanggang</h1>  
     <p class="title">Student at Informatics ITS</p>  
     <p>Institut Teknologi Sepuluh Nopember Surabaya</p>  
     <div style="margin: 24px 0;">  
       <a href="https://www.instagram.com/gabrielstg_/"><i class="fa fa-instagram"></i></a>  
       <a href="https://www.linkedin.com/in/gabriel-solomon-sitanggang-33b63521b/"><i class="fa fa-linkedin"></i></a>   
     </div>  
   </div>  
      <div class="row rofile-sm">  
       <div class="col-md-4">  
        <div class="card">  
         <div class="card-body">  
          <div class="d-flex flex-column align-items-center text-center">  
          </div>  
         </div>  
        </div>  
       </div>  
       <div class="col-md-8">  
        <div class="card mb-3">  
         <div class="card-body">  
          <div class="row">  
           <div class="col-sm-9"><h4 class="mb-0">Tugas PBKK A</h6></div>  
          </div>  
          <hr>  
          <div class="row"><div class="col-sm-3"><h6 class="mb-0">Nama Lengkap:</h6></div><div class="col-sm-9 text-secondary">Gabriel Solomon Sitanggang</div></div><hr>  
          <div class="row"><div class="col-sm-3"><h6 class="mb-0">Tanggal Lahir:</h6></div><div class="col-sm-9 text-secondary">31 Juli 2002</div></div><hr>  
          <div class="row"><div class="col-sm-3"><h6 class="mb-0">Email:</h6></div><div class="col-sm-9 text-secondary">gabrielsitanggang38@gmail.com</div></div><hr>  
          <div class="row"><div class="col-sm-3"><h6 class="mb-0">Nomor Telepon:</h6></div><div class="col-sm-9 text-secondary">082276563699</div></div><hr>  
          <div class="row"><div class="col-sm-3"><h6 class="mb-0">Alamat:</h6></div><div class="col-sm-9 text-secondary">Keputih Utara, Surabaya</div></div>  
         </div>  
        </div>  
         </div>  
        </div>  
       </div>  
      </div>  
     </div>  
 </body>  
 </html>  
asdfasd
Untuk dokumentasi Tugas 8 ini dapat dilihat sebagai berikut :
  • XAMPP


  • Data Diri

Sekian penjelasan tugas 8 saya, mohon maaf jika ada kekurangan. Terima Kasih.

Minggu, 12 Juni 2022

Pemrograman Berbasis Kerangka Kerja A | Tugas 7

MEMBUAT MOBILE APPLICATION MENGGUNAKAN XAMARIN

Untuk pengaplikasian mobile application ini berupa sebuah aplikasi sederhana android yaitu aplikasi Increment dan Decremen



Tampilan aplikasi sederhana android yang saya buat sebagai berikut
Source code nya dapat dilihat sebagai berikut

Main
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.    android:orientation="vertical"
  4.    android:layout_width="match_parent"
  5.    android:layout_height="match_parent">
  6.     <TextView
  7.        android:text="0"
  8.        android:textSize="50sp"
  9.        android:gravity="center"
  10.        android:layout_width="match_parent"
  11.        android:layout_height="wrap_content"
  12.        android:id="@+id/txtNumber"
  13.        android:layout_marginBottom="20dp"
  14.        android:layout_marginTop="20dp" />
  15.     <Button
  16.        android:text="Increment"
  17.        android:layout_width="match_parent"
  18.        android:layout_height="wrap_content"
  19.        android:id="@+id/btnIncrement" />
  20.     <Button
  21.        android:text="Decrement"
  22.        android:layout_width="match_parent"
  23.        android:layout_height="wrap_content"
  24.        android:id="@+id/btnDecrement" />
  25. </LinearLayout>


MainActivity.cs
  1. using Android.App;
  2. using Android.Widget;
  3. using Android.OS;
  4.  
  5. namespace XamarinTut
  6. {
  7. [Activity(Label = "XamarinTut", MainLauncher = true, Icon = "@drawable/icon")]
  8. public class MainActivity : Activity
  9. {
  10. TextView txtNumber;
  11.  
  12. int number;
  13.  
  14. protected override void OnCreate(Bundle bundle)
  15. {
  16. base.OnCreate(bundle);
  17.  
  18. // Set our view from the "main" layout resource
  19. SetContentView (Resource.Layout.Main);
  20.  
  21. txtNumber = FindViewById<TextView>(Resource.Id.txtNumber);
  22.  
  23. FindViewById<Button>(Resource.Id.btnIncrement).Click += (o, e) =>
  24. txtNumber.Text = (++number).ToString();
  25.  
  26. FindViewById<Button>(Resource.Id.btnDecrement).Click += (o, e) =>
  27. txtNumber.Text = (--number).ToString();
  28. }
  29. }
  30. }

Untuk referensi saya menggunakan link youtube berikut


Senin, 06 Juni 2022

Pemrograman Berbasis Kerangka Kerja A | EAS

Gabriel Solomon Sitanggang (5025201165)
Mohammad Fany Faizul Akbar (5025201225)

PERMASALAHAN

Mencari gedung untuk acara pernikahan, rapat atau acara lainnya yang untuk di Jakarta sekarang ini sangat sulit dalam segi waktu dan tempat. Selain itu kendala dalam melakukan pendaftaran atau booking, dimana sering terjadi duplikasi pesanan dalam waktu dan tempat yang sama sehingga terjadi data yang tidak akurat.

SOAL

  1. Konsep dan deskripsi yang mendata gedung yang bisa digunakan untuk acara/ event dan memberikan penawaran kepada Event Organizer. (Mandiri - Waktu pengerjaan hingga hari Selasa 07 Juni 2022 pukul 10.00)
  2. Implementasikan dengan menggunakan Framework sistem informasinya. Framework yang digunakan bisa NET, CI, Laravel, atau Google Apps  (bisa dikerjakan berkelompok maksimal 4)
  3. Hostingkan sistem informasinya, kemudian buat video demo dan presentasi kemudian upload di Youtube
  4. Buat laporan di blog beserta link hosting, dan juga embedded videonya. Waktu pengerjaan hingga hari Sabtu 11 Juni 2022 pukul 12.00

PENYELESAIAN

  1. SOAL 1
KONSEP

Berdasarkan permasalahan, masih sangat sulit untuk mendapatkan gedung untuk acara pernikahan, rapat, atau acara lainnya dalam segi waktu dan tempat. Seringkali dalam proses booking, terjadi duplikasi pemesanan dalam waktu dan tempat yang sama sehingga data tidak akurat. Selain itu, pelanggan harus mendatangi pihak penyedia gedung untuk mencari tema atau konsep yang sesuai dengan keinginan. Apabila tidak sesuai, pelanggan harus mencari penyedia gedung yang lainnya. Permasalahan lain adalah kecocokan harga yang menjadi pilihan pelanggan. Oleh karena itu, sistem berbasis web ini akan menjadi wadah bagi penyedia gedung di Jakarta. Manfaat yang diharapkan adalah memberikan kemudahan antara setiap pihak penyedia gedung dan pelanggan dalam menunjang kebutuhan acara pelanggan menggunakan sistem berbasis web ini, sehingga proses pelayanan akan lebih efektif dan efisien.

ALUR

Terdapat 3 aktor yaitu pelanggan, penyedia gedung, dan admin. Aktivitas yang dilakukan pelanggan dimulai dengan menanyakan penyedia gedung apakah ada gedung yang tersedia, kemudian pihak penyedia gedung memberikan informasi gedung yang tersedia, kemudian pelanggan memperoleh pilihan-pilihan gedung dan paket yang telah disediakan oleh penyedia gedung. Setelah itu pelanggan menentukan pilihan apabila pelanggan tidak melakukan pemilihan maka akan kembali keluar dan apabila pelanggan melakukan pilihan ya maka pelanggan memilih gedung dan paket yang tersedia kemudian melakukan pemesanan dan booking tanggal kemudian melakukan transaksi pembayaran uang muka.

AKTOR

  • PELANGGAN

  1. Mengisi data diri
  2. Melihat gedung, paket, dan harga
  3. Mengisi data diri
  4. Memesan paket lewat sistem berbasis web
  5. Membayar DP
  6. Membayar Tagihan
  • PENYEDIA GEDUNG
  1. Menerima data pemesanan pelanggan
  2. Memeriksa ketersediaan gedung
  3. Membuat dan mengatur jadwal
  4. Menyiapkan gedung yaitu konsep dan tema yang telah dipilih oleh pelanggan
  5. Melakukan transaksi DP
  6. Melakukan transaksi Tagihan
  • Admin
  1. Melakukan verifikasi akun yan baru saja registrasi
  2. Menampilkan data gedung yang telah diberi oleh penyedia gedung
  3. Menerima data pemesanan pelanggan
  4. Memproses pemesanan
  5. Menyediakan struk pembayaran
  6. Memproses pembayaran
  7. Melakukan CRUD pada data gedung
FITUR
  1. Verifikasi semua akun yang melakukan registrasi oleh admin
  2. Login bagi pelanggan, penyedia gedung, dan admin
  3. Menampilkan nama gedung, tema yang tersedia, harga, dll
  4. Melakukan CRUD bagi admin
  5. Dapat melakukan pembayaran (transfer bank, e-wallet)
  6. Menampilkan gedung terdekat menggunakan maps
  7. Pelanggan dapat melakukan pencarian berdasarkan nama gedung
  8. Dapat melakukan filter kategori sesuai keinginan pelanggan

Untuk pengimplementasian sistem berbasis web dapat di lihat di link github berikut.

Untuk video penjelasannya dapat di lihat di link youtube berikut.

Pemrograman Web C | EAS

5025201165 - Gabriel Solomon Sitanggang SOAL Kementrian Kelautan dan Perikanan sedang membutuhkan pegawai baru untuk menjalankan tugas di wi...