Jurusan Informatika - Fakultas Teknologi Industri - Universitas Islam Indonesia
  • PROFIL
    • Visi dan Misi
    • Sambutan Ketua Jurusan
    • Struktur Organisasi
    • Dosen
    • Staf
    • Kontak
  • PROGRAM STUDI
    • Program Sarjana
      • Sambutan Kaprodi S1
      • Profil Lulusan
      • Kurikulum 2020
      • Capstone
      • Jalur Tahun Keempat
      • Informatics Expo
      • Informasi & Layanan
      • Prospektus S1
      • Mahasiswa
        • Informasi Akademik
        • Mahasiswa Baru S1 – 2022
        • New IP Students – 2022
        • S1 2021 – Reguler
        • S1 – 2021 – International Program
        • S1 – 2020
    • Program Magister
    • Program Doktor
    • International Program
    • Informatika PJJ
  • UNIT PENDUKUNG
    • Laboratorium
    • Pusat Studi
      • Pusat Studi Forensika Digital
      • Pusat Studi Informatika Medis
        • Visi-Misi
        • Struktur Organisasi
        • Mitra Kerjasama
        • Kegiatan
      • Pusat Studi Sistem Informasi Enterprise
      • Pusat Studi Sains Data
    • ITCentrum
    • Student Staff
    • Komunitas Mahasiswa
    • Lembaga Mahasiswa
  • KEMITRAAN
  • ARTIKEL
    • Pojok Dakwah
    • Pojok Informatika
  • Click to open the search input field Click to open the search input field Search
  • Menu Menu
  • Link to Instagram
  • Link to Facebook
  • Link to Youtube
Pojok Informatika

Membuat Simple Bank REST API dengan Golang, Postgres, dan Docker #1

Tampilan dbdiagram io
ini merupakan series ke-1 dari 5

Penulis: Muhammad Ihsan Syafiul Umam (Mahasiswa S-1 Informatika UII)

Bismillahirrahmanirrahim. Hi, Gengs! Pada kesempatan kali ini, saya akan berbagi pengetahuan tentang cara membuat aplikasi bank sederhana dengan bahasa Golang dan database Postgresql. Aplikasi ini akan kita deploy dengan Docker. Setelah mengikuti tutorial ini, kita akan mencoba mengenali teknologi yang digunakan dalam industri saat ini. Selain itu, teman-teman juga akan menambah portofolio proyek yang menarik dan berguna ketika akan melamar pekerjaan nantinya.

Tentang Aplikasi?

Nah, tutorial ini merupakan series pertama dari beberapa tutorial yang akan datang nantinya. Sebelum memulai pengembangan, kita perlu tahu tentang aplikasi yang akan kita kembangkan. Aplikasi yang kita buat adalah aplikasi bank sederhana. Namun, yang kita buat hanya backend-nya saja, alias kita tidak akan memiliki tampilan untuk ditampilkan ke pengguna. Kita akan membuat aplikasi yang sebenarnya berjalan di belakang layar aplikasi, mulai dari manajemen akun nasabah, mencatat perubahan saldo, dan transaksi transfer.

Di series pertama, kita akan membahas desain database dari aplikasi yang akan kita buat. Kita harus memastikan data disimpan dengan baik dan data dapat mengimplementasi konsep ACID. Tools yang akan kita gunakan untuk mendesain database kali ini adalah dbdiagram.io.

Tampilan dbdiagram io

Tampilan dbdiagram io

Langkah Desain Basis Data Bank Sederhana

Berikut adalah langkah-langkah desain database bank sederhana:

1. Membuat tabel users.

Sebagaimana aplikasi bank pada umumnya, kita membutuhkan satu tabel untuk mengelola data pribadi pengguna, seperti nama lengkap, NIK, alamat, dan sebagainya. Silakan buka dbdiagram.io dan mari kita buat tabel users-nya.

dbdiagram io users

dbdiagram io users

  • `Table` digunakan untuk membuat tabel
  • `Users` adalah nama tabel yang kita buat
  • `id` adalah primary key dalam table Users,
  • `full_name` adalah kolom yang menyimpan nama lengkap nasabah,
  • `nik` adalah kolom yang menyimpan nomor induk kependudukan nasabah,
  • `email` adalah kolom yang menyimpan email nasabah,
  • `phone_number` adalah kolom yang menyimpan nomor ponsel nasabah,
  • `address` adalah kolom yang menyimpan alamat rumah nasabah,
  • `password` adalah kolom yang menyimpan kata sandi nasabah.
  • `created_at` adalah kolom yang menyimpan waktu data nasabah dibuat dengan nilai bawaan now() yaitu waktu saat data user masuk ke tabel,
  • `updated_at`adalah kolom yang menyimpan waktu data nasabah diubah
2. Membuat tabel Accounts

Tabel accounts akan berfungsi untuk mengelola akun nasabah yang akan menyimpan jumlah saldo, mata uang, dan id_user yang merujuk ke tabel users. Silakan buka kembali dbdiagram.io dan mari kita lanjut untuk membuat tabel accounts.

dbdiagram io accounts

dbdiagram io accounts

  • `user_id` adalah kolom yang menyimpan id yang merujuk pada tabel
  • `balance` adalah kolom yang menyimpan jumlah saldo di akun nasabah.
  • `currency` adalah kolom yang menyimpan mata uang yang digunakan nasabah.
3. Membuat tabel entries

Tabel entries akan berfungsi untuk mencatat perubahan saldo. Pengurangan atau penambahan jumlah saldo akan dicatat disini. Silakan buka dbdiagram.io dan mari kita lanjut membuat tabel entries.

dbdiagram io entries

dbdiagram io entries

  • `account_id` adalah kolom yang menyimpan id yang merujuk ke tabel
  • `amount` adalah kolom yang menyimpan seberapa banyak saldo yang berkurang atau bertambah. Nilai dari amount dapat positif atau negatif.
4. Membuat tabel transfers

Tabel transfers digunakan ketika proses transfer saldo antar rekening pengirim ke penerima. Tabel ini akan mencatat akun pengirim, akun penerima, serta besaran nominal yang ditransfer. Silakan buka dbdiagram.io dan mari kita buat tabel transfers

dbdiagram ui transfers

dbdiagram ui transfers

  • `from_account_id` adalah kolom untuk menyimpan id akun pengirim yang merujuk pada tabel accounts
  • `to_account_id` adalah kolom untuk menyimpan id akun penerima yang merujuk pada tabel accounts
  • `amount` adalah kolom untuk menyimpan besaran nominal yang dikirimkan

Tabel yang kita butuhkan dalam aplikasi sudah berhasil kita definisikan. Sekarang kita akan menambahkan index dalam tabel kita. Index berfungsi untuk meningkatkan performa pencarian (baca disini). Silakan buka dbdiagram.io dan mari kita tambahkan index di masing-masing tabel.

5. Menambahkan index pada tabel users

Ke depannya, kita mungkin saja ingin melakukan pencarian data user berdasarkan nama lengkap, email, NIK, atau nomor ponsel sehingga kita akan menambahkan index hanya untuk kolom-kolom tersebut.

index pada tabel users

index pada tabel users

6. Menambahkan index pada tabel accounts

Pada tabel accounts, akan ada keperluan untuk melakukan pencarian data akun berdasarkan user_id nya saja.

index pada tabel accounts

index pada tabel accounts

7. Menambahkan index pada tabel entries

Pada tabel entries, akan ada keperluan untuk melakukan pencarian data entry berdasarkan account_id.

index pada tabel entries

index pada tabel entries

8. Menambahkan index pada tabel transfers

Pada tabel transfers, kita dapat melakukan pencarian berdasarkan from_account_id (pengirim), to_account_id (penerima), atau berdasarkan keduanya sekaligus.

index pd tabel transfers

index pd tabel transfers

9. Export data ke SQL

Tabel-tabel yang telah kita desain sebelumnya dapat kita konversi dengan mudah ke dalam perintah SQL untuk membuat tabel pada database kita. Silakan buka kembali dbdiagram.io dan perhatikan gambar berikut.

export to postgresql

export to postgresql

Klik `Export to PostgresSQL` untuk export desain database kita menjadi perintah postgresSQL. Jika berhasil di-export, akan dihasilkan query sql  seperti ini:

Query sql

Query sql

Eits, mohon maaf ni, Gengs… Tidak terasa obrolan kita sudah sepanjang ini. Karena itu, kita akan lanjutkan di episode selanjutnya ya ✌️

 What’s Next?

  • Instalasi Docker
  • Menjalankan Postgres dengan Docker
  • Membuat database dan menghubungkan database ke Dbeaver

Referensi

  • https://blog.dot.co.id/database-optimization-1-indexing-649e7837a22a
  • https://subreza.medium.com/mengenal-transaksi-database-acid-b1a9c187ad62

 

Related posts:

Internet of Things (IoT) dalam Rumah Tangga

Privasi Adalah Segalanya

Mengungkap Pola Mobilitas Manusia Selama Pandemi COVID-19

Parallel Development for a Short Time from Technical Aspect

Bagaimana Tata Kelola Teknologi Informasi Membantu Organisasi Tumbuh Berkembang?

November 21, 2023/by informatika
Share this entry
  • Share on Facebook
  • Share on X
  • Share on WhatsApp
  • Share on LinkedIn
  • Share by Mail
https://informatics.uii.ac.id/wp-content/uploads/2024/01/1-tampilan-dbdiagram-io.png 1329 2048 informatika https://informatics.uii.ac.id/wp-content/uploads/2020/03/Logo-webTF-UII-1030x420.png informatika2023-11-21 03:02:232024-01-13 03:32:09Membuat Simple Bank REST API dengan Golang, Postgres, dan Docker #1
  • Selamat! Prof. Sri Kusumadewi Dilantik sebagai Dekan FTI UII Periode 2026–2030July 1, 2026 - 21:09
  • menunggu berbuka puasa di masjid
    Menjemput Keberkahan di Tanah Suci: Hakikat dan Manfaat Ibadah UmrahJuly 1, 2026 - 16:15
  • AI Mengubah Pekerjaan, Bukan Menghapusnya: Pesan Prof. Fathul Wahid bagi Mahasiswa InformatikaJuly 1, 2026 - 12:03
  • Belajar Sistem Enterprise dari Zulhia Septiandini, Alumni Informatika UII yang Berkarier 18 Tahun di Bidang SAPJuly 1, 2026 - 10:40
  • Pengumuman Pergantian Dosen Pembimbing Akademik (DPA)June 26, 2026 - 15:07
  • Dari Yogyakarta ke Hiroshima: Pandu Nur Afi Dewanto Bawa Riset Rekomendasi Micro-Credential Berbasis AIJune 8, 2026 - 10:27
  • Mozanda Presentasikan Penelitian AI untuk Bimbingan Akademik di Seminar Internasional JepangJune 8, 2026 - 10:13
  • Webinar PJJ Informatika UII: Menavigasi Pengambilan Keputusan di Era AIJune 6, 2026 - 20:42
  • PJJ Informatika UII Goes to Bogor: Pelatihan Network Engineering Skills di Era DigitalJune 6, 2026 - 09:42
  • Surat Edaran Dosen Pembimbing Skripsi TA Genap 2025-2026 Tahap-1May 25, 2026 - 08:55

Categories

JURUSAN INFORMATIKA

Gedung KH. Mas Mansyur  Lantai 2
Universitas Islam Indonesia
Jl. Kaliurang KM. 14,5 Sleman Yogyakarta 55584

Telepon: +62 274 895287 ext. 122
Faks: +62 274 895007
Email:
Jurusan: [email protected]
Prodi Informatika Program Sarjana: [email protected]
Prodi Informatika Program Magister : [email protected]
Prodi Informatika PJJ : [email protected]
Instagram: @informatics.uii

TAUTAN CEPAT

Universitas

Fakultas

UII Gateway

Admisi

© Hak Cipta 2022 - Jurusan Informatika UII - Yogyakarta
  • Link to Instagram
  • Link to Facebook
  • Link to Youtube
Link to: Movie App with Retrofit & MovieDB API #1 Link to: Movie App with Retrofit & MovieDB API #1 Movie App with Retrofit & MovieDB API #1Movie App with Retrofit & MovieDB API Link to: User Experience: Sisi Humanis dari Teknologi Link to: User Experience: Sisi Humanis dari Teknologi UI UXUser Experience: Sisi Humanis dari Teknologi
Scroll to top Scroll to top Scroll to top