Rabu, 22 Februari 2023

Relasi


PENGERTIAN RELASI

Dalam konteks database, relasi atau hubungan mengacu pada koneksi atau hubungan antara dua tabel dalam sebuah database. Relasi adalah dasar dari model data relasional, yang merupakan model paling umum digunakan dalam database modern.

Dalam model relasional, setiap tabel dalam database dianggap sebagai sebuah "relasi" dan setiap relasi tersebut terdiri dari beberapa kolom atau atribut, yang mewakili sifat data yang disimpan dalam tabel, dan beberapa baris atau tupel, yang merepresentasikan data spesifik dalam tabel.

Relasi antara dua tabel dapat dibentuk dengan menggunakan sebuah kolom atau beberapa kolom yang sama dalam kedua tabel tersebut. Kolom-kolom ini disebut sebagai "kunci" dan relasi jenis ini disebut sebagai "relasi dengan kunci asing" atau "foreign key relationship". Dalam relasi semacam ini, satu tabel memiliki kunci yang merujuk ke kolom dalam tabel lainnya, sehingga data di kedua tabel terkait satu sama lain.

Relasi antar tabel ini memungkinkan pengguna untuk mengambil data dari beberapa tabel dan menyajikannya dalam bentuk yang terkait. Dengan menggunakan relasi, pengguna dapat membuat query yang lebih kompleks dan mengambil data yang lebih lengkap dan terstruktur.

JENIS JENIS RELASI

Berikut adalah beberapa jenis relasi dalam database:

  • One-to-One (1:1)
Relasi satu ke satu adalah ketika satu baris dalam tabel memiliki relasi dengan satu baris dalam tabel lain. Contohnya, setiap karyawan memiliki nomor identitas unik. Oleh karena itu, satu nomor identitas hanya terkait dengan satu karyawan.
  • One-to-Many (1:N)
Relasi satu ke banyak adalah ketika satu baris dalam tabel memiliki relasi dengan banyak baris dalam tabel lain. Contohnya, satu departemen dapat memiliki banyak karyawan, tetapi setiap karyawan hanya dapat terkait dengan satu departemen.
  • Many-to-One (N:1)
Relasi banyak ke satu adalah ketika banyak baris dalam satu tabel memiliki relasi dengan satu baris dalam tabel lain. Contohnya, banyak pesanan dapat ditempatkan oleh satu pelanggan, tetapi satu pesanan hanya dapat terkait dengan satu pelanggan.
  • Many-to-Many (N:N)
Relasi banyak ke banyak adalah ketika banyak baris dalam satu tabel memiliki relasi dengan banyak baris dalam tabel lain. Contohnya, banyak siswa dapat mengambil banyak kelas, dan banyak kelas dapat diikuti oleh banyak siswa.

Setiap jenis relasi memiliki implikasi yang berbeda dalam desain database dan dapat memengaruhi cara kita menulis query SQL untuk mengambil data. Oleh karena itu, sangat penting untuk mempertimbangkan relasi yang tepat ketika merancang database

CONTOH PENGGUNAAN RELASI

Tabel pelanggan :

Tabel pesanan :

Dalam contoh di atas, tabel Pelanggan dan tabel Pesanan dapat dihubungkan melalui ID Pelanggan, yang merupakan kunci asing di tabel Pesanan dan kunci primer di tabel Pelanggan. Dengan menggunakan relasi ini, kita dapat melihat detail pesanan yang dilakukan oleh masing-masing pelanggan dengan cara melakukan JOIN antara kedua tabel tersebut. Contoh query SQL yang dapat digunakan untuk melihat data pesanan yang dilakukan oleh pelanggan tertentu adalah sebagai berikut:

Dalam query di atas, kita menggunakan JOIN untuk menggabungkan data dari kedua tabel, dan WHERE untuk memfilter data berdasarkan nama pelanggan yang ingin ditampilkan.

Dengan menggunakan relasi dalam database, kita dapat melakukan query yang lebih kompleks dan terstruktur, sehingga memungkinkan kita untuk melihat data dari beberapa tabel yang terkait dalam satu query saja.

Normalisasi


PENGERTIAN NORMALISASI

Normalisasi adalah suatu proses dalam desain database untuk mengorganisir tabel dan kolom dalam sebuah database dengan tujuan menghilangkan atau meminimalkan duplikasi data, menghindari ketidak konsistenan, dan meningkatkan efisiensi database.

Normalisasi umumnya dilakukan dalam beberapa tahap atau level normalisasi yang berbeda, mulai dari level 1NF (First Normal Form) hingga level 5NF (Fifth Normal Form). Setiap level normalisasi memiliki kriteria atau aturan sendiri, dan semakin tinggi level normalisasi, semakin sedikit duplikasi data yang ada dan semakin kompleks struktur tabel.

Proses normalisasi umumnya melibatkan pemisahan tabel besar menjadi tabel yang lebih kecil dan lebih terkait erat satu sama lain, memastikan bahwa setiap tabel memiliki satu kunci utama dan menentukan hubungan antara tabel-tabel tersebut. Normalisasi adalah proses yang penting dalam desain database karena dapat meningkatkan efisiensi, konsistensi, dan kemudahan dalam mengambil dan memanipulasi data dalam sebuah database.

JENIS - JENIS NORMALISASI

1. First Normal Form (1NF)
First Normal Form (1NF) adalah aturan dasar dalam normalisasi database, yang mensyaratkan bahwa setiap kolom tabel harus memiliki nilai atomik, yaitu hanya menyimpan satu nilai pada setiap sel. Jika suatu kolom menyimpan beberapa nilai atau sebuah grup nilai, maka tabel harus dibagi menjadi beberapa tabel yang lebih kecil.

2. Second Normal Form (2NF)
Second Normal Form (2NF) adalah tahap kedua dalam normalisasi database. Untuk mencapai 2NF, tabel harus memenuhi dua kriteria: pertama, tabel harus sudah berada pada 1NF, dan kedua, setiap kolom tabel harus bergantung pada seluruh kunci utama (primary key) tabel. Jika ada kolom yang bergantung hanya pada sebagian kunci utama, maka tabel tersebut harus dibagi menjadi beberapa tabel yang lebih kecil.

3. Third Normal Form (3NF)
Third Normal Form (3NF) adalah tahap ketiga dalam normalisasi database. Untuk mencapai 3NF, tabel harus sudah berada pada 2NF, dan setiap kolom tabel harus bergantung pada kunci utama atau kunci non-transitif lainnya. Dengan kata lain, tidak boleh ada kolom yang bergantung pada kolom-kolom lain di dalam tabel yang bukan merupakan kunci utama atau kunci non-transitif.

4. Boyce-Codd Normal Form (BCNF)
Boyce-Codd Normal Form (BCNF) adalah tahap normalisasi yang lebih ketat dibandingkan 3NF. BCNF mensyaratkan bahwa setiap fungsi fungsional dalam tabel harus memiliki kunci utama sebagai determinan, yaitu kunci utama harus memenuhi semua kebutuhan data di dalam tabel. Jika tidak, tabel harus dibagi menjadi beberapa tabel yang lebih kecil.

5. Fourth Normal Form (4NF)
Fourth Normal Form (4NF) adalah tahap normalisasi yang lebih ketat lagi, yang mensyaratkan bahwa tidak ada lebih dari satu cara untuk merepresentasikan fakta-fakta data dalam tabel. Tabel harus dipisahkan menjadi beberapa tabel jika terdapat beberapa dependensi multivalued atau join dependency.

Setiap tahap normalisasi memiliki keuntungan dan kekurangan sendiri-sendiri. Semakin tinggi tahap normalisasi yang dicapai, semakin banyak tabel yang harus dibuat, sehingga dapat membuat query SQL menjadi lebih kompleks. Oleh karena itu, perlu mempertimbangkan dengan matang dalam merancang normalisasi database agar sesuai dengan kebutuhan dan tujuan dari database tersebut.

CONTOH PENGGUNAAN NORMALISASI

Tabel 1 : Pelanggan

Tabel 2 : Pesanan 


Tabel 3 : Barang_pesanan

Tabel 1 berisi data pelanggan, sedangkan tabel 2 berisi data pesanan. Setiap pesanan dihubungkan dengan pelanggan melalui kolom Id_Pelanggan. Tabel 3 berisi data barang pada setiap pesanan, dihubungkan dengan pesanan melalui kolom Id_Pesanan. Dengan menggunakan tiga tabel ini, kita dapat membagi informasi tentang pelanggan, pesanan, dan barang menjadi tiga entitas yang berbeda, sehingga mempermudah pengolahan data dan mengurangi redudansi data.

Transaction Control Language (TCL)

 

Transaction Control Language (TCL) adalah jenis SQL yang digunakan untuk mengontrol transaksi dalam sebuah database. TCL digunakan untuk memastikan bahwa perubahan pada database dilakukan dengan benar dan aman.

Beberapa perintah TCL yang umum digunakan adalah:
  1. COMMIT: digunakan untuk menyimpan semua perubahan yang telah dilakukan dalam sebuah transaksi.
  2. ROLLBACK: digunakan untuk membatalkan semua perubahan yang telah dilakukan dalam sebuah transaksi.
  3. SAVEPOINT: digunakan untuk membuat titik penyimpanan dalam sebuah transaksi.
TCL sangat penting dalam mengelola transaksi dalam database, karena dengan menggunakan perintah-perintah TCL tersebut, pengguna dapat memastikan bahwa perubahan pada database dilakukan dengan benar dan aman, dan dapat mengembalikan database ke keadaan sebelumnya jika terjadi kesalahan atau kegagalan dalam transaksi.

Data Control Language (DCL)

 

Data Control Language (DCL) adalah jenis SQL yang digunakan untuk mengatur hak akses pengguna pada database dan tabel. DCL digunakan untuk memberikan izin atau membatasi akses pengguna pada objek-objek database, sehingga hanya pengguna yang memiliki hak akses tertentu yang dapat melakukan operasi tertentu pada objek-objek tersebut.

Beberapa perintah DCL yang umum digunakan adalah:

  1. GRANT: digunakan untuk memberikan hak akses tertentu pada pengguna atau grup pengguna.
  2. REVOKE: digunakan untuk mencabut hak akses tertentu pada pengguna atau grup pengguna.
  3. DENY: digunakan untuk memblokir akses pengguna pada objek-objek tertentu.

DCL sangat penting dalam mengamankan database dan mencegah akses tidak sah atau kebocoran data. Dengan menggunakan perintah-perintah DCL, pengguna dapat mengatur hak akses pengguna pada objek-objek database dan mencegah pengguna yang tidak berwenang untuk mengakses atau memodifikasi data dalam database.


Data Definition Language (DDL)



Data Definition Language (DDL) adalah jenis SQL yang digunakan untuk membuat, mengubah, dan menghapus struktur database dan objek-objek terkait. DDL memungkinkan pengguna untuk mendefinisikan tabel, kolom, indeks, kunci, dan constraint dalam database.

Beberapa perintah DDL yang umum digunakan adalah:

  1. CREATE: digunakan untuk membuat sebuah tabel atau objek database baru.
  2. ALTER: digunakan untuk mengubah struktur sebuah tabel atau objek database yang sudah ada, seperti menambah atau menghapus kolom.
  3. DROP: digunakan untuk menghapus sebuah tabel atau objek database yang sudah ada.
  4. TRUNCATE: digunakan untuk menghapus semua data dari sebuah tabel, tetapi struktur tabel tetap utuh.
  5. COMMENT: digunakan untuk menambahkan komentar pada tabel atau objek database.

DDL sangat penting dalam membuat dan mengelola struktur database, karena dengan menggunakan perintah-perintah DDL tersebut, pengguna dapat membuat tabel, menambahkan kolom, memodifikasi indeks dan constraint, serta menghapus objek-objek yang tidak lagi diperlukan.

Data Manipulation Language (DML)



Data Manipulation Language (DML) adalah jenis SQL yang digunakan untuk mengakses dan memanipulasi data dalam sebuah database. DML digunakan untuk mengambil, menambah, mengubah, dan menghapus data dalam sebuah tabel atau objek database.

Beberapa perintah DML yang umum digunakan adalah:

  1. SELECT: digunakan untuk mengambil data dari sebuah tabel atau objek database.
  2. INSERT: digunakan untuk menambahkan data baru ke dalam sebuah tabel atau objek database.
  3. UPDATE: digunakan untuk mengubah data yang sudah ada dalam sebuah tabel atau objek database.
  4. DELETE: digunakan untuk menghapus data yang sudah ada dalam sebuah tabel atau objek database.
  5. MERGE: digunakan untuk menggabungkan dua tabel atau objek database menjadi satu.

DML sangat penting dalam mengelola data dalam database, karena dengan menggunakan perintah-perintah DML tersebut, pengguna dapat melakukan manipulasi data untuk memperbaharui, menghapus, atau menambahkan data ke dalam database.

SQL

 

Apa itu SQL

SQL (Structured Query Language) adalah bahasa pemrograman khusus yang digunakan untuk mengelola dan mengakses data dalam sebuah database relasional. SQL digunakan untuk mengambil, memasukkan, memperbarui, dan menghapus data dari database. SQL memungkinkan pengguna untuk membuat, mengelola, dan memodifikasi database dengan mudah, serta memberikan kemampuan untuk melakukan analisis data dan membuat laporan.

SQL merupakan standar industri untuk mengelola data dalam database relasional dan telah menjadi bahasa yang paling umum digunakan dalam pengelolaan database. Hampir semua sistem manajemen database (DBMS) mendukung SQL, termasuk MySQL, Oracle, Microsoft SQL Server, PostgreSQL, SQLite, dan lain-lain. Karena SQL adalah bahasa yang sangat penting dalam pengelolaan database, banyak orang yang belajar SQL sebagai bagian dari pelatihan dalam bidang teknologi informasi.

FUNGSI DAN JENIS - JENIS SQL

Berikut fungsi dari SQL :
  • Membuat Database: SQL digunakan untuk membuat database, tabel, dan skema yang diperlukan untuk menyimpan data dalam database. Hal ini dilakukan dengan menggunakan perintah-perintah seperti CREATE DATABASE, CREATE TABLE, dan CREATE SCHEMA.
  • Memasukkan Data ke dalam Database: SQL digunakan untuk memasukkan data ke dalam tabel database. Hal ini dilakukan dengan menggunakan perintah INSERT INTO.
  • Mengambil Data dari Database: SQL digunakan untuk mengambil data dari tabel database. Hal ini dilakukan dengan menggunakan perintah SELECT.
  • Memperbarui Data dalam Database: SQL digunakan untuk memperbarui data dalam tabel database. Hal ini dilakukan dengan menggunakan perintah UPDATE.
  • Menghapus Data dari Database: SQL digunakan untuk menghapus data dari tabel database. Hal ini dilakukan dengan menggunakan perintah DELETE.
  • Menjalankan Kueri: SQL digunakan untuk menjalankan kueri yang kompleks pada database. Hal ini dilakukan dengan menggunakan perintah SELECT dan menggunakan fungsi agregat seperti COUNT, SUM, dan AVG untuk menghitung data.
  • Mengatur Hak Akses Pengguna: SQL digunakan untuk mengatur hak akses pengguna pada database. Hal ini dilakukan dengan menggunakan perintah GRANT dan REVOKE.
  • Membuat Indeks: SQL digunakan untuk membuat indeks pada tabel database. Indeks membantu meningkatkan performa query pada tabel database.
  • Mengelola Transaksi: SQL digunakan untuk mengelola transaksi pada database, yaitu mengatur tindakan yang dilakukan dalam sebuah operasi dan memastikan keberhasilannya atau mengembalikan database ke kondisi sebelumnya jika terjadi kegagalan.
  • Mengelola Relasi Antar Tabel: SQL digunakan untuk mengelola relasi antar tabel dalam sebuah database relasional, yaitu menyatukan data dari beberapa tabel dalam satu query. Hal ini dilakukan dengan menggunakan perintah JOIN.

Berikut ini adalah beberapa jenis SQL yang umum digunakan:

  • Data Manipulation Language (DML): Jenis SQL ini digunakan untuk mengakses dan memanipulasi data dalam sebuah database. Beberapa perintah DML yang umum digunakan adalah SELECT, INSERT, UPDATE, DELETE, dan MERGE.
  • Data Definition Language (DDL): Jenis SQL ini digunakan untuk membuat, mengubah, dan menghapus struktur database dan objek-objek yang terkait. Beberapa perintah DDL yang umum digunakan adalah CREATE, ALTER, dan DROP.
  • Data Control Language (DCL): Jenis SQL ini digunakan untuk mengatur hak akses pengguna pada database dan tabel. Beberapa perintah DCL yang umum digunakan adalah GRANT, REVOKE, dan DENY.
  • Transaction Control Language (TCL): Jenis SQL ini digunakan untuk mengelola transaksi dalam database relasional. Beberapa perintah TCL yang umum digunakan adalah COMMIT, ROLLBACK, dan SAVEPOINT.
  • Data Query Language (DQL): Jenis SQL ini digunakan untuk mengambil data dari sebuah database dan menampilkan data dalam bentuk yang diinginkan. Perintah SELECT adalah salah satu perintah DQL yang paling umum digunakan.
  • Procedural Language (PL): Jenis SQL ini memungkinkan pengguna untuk menulis prosedur dan fungsi yang kompleks di dalam database. Beberapa contoh PL adalah PL/SQL (Oracle), T-SQL (Microsoft SQL Server), dan PL/pgSQL (PostgreSQL).
  • NoSQL: SQL juga digunakan dalam database NoSQL, meskipun jenis SQL yang digunakan dapat bervariasi tergantung pada jenis database NoSQL yang digunakan. Beberapa contoh jenis SQL dalam database NoSQL adalah Cassandra Query Language (CQL) dan MongoDB Query Language (MQL).

Database


APA ITU DATABASE

Database adalah sebuah kumpulan data yang terorganisir secara sistematis, biasanya disimpan di dalam komputer atau server, dan dapat diakses serta dikelola dengan bantuan perangkat lunak database. Database berfungsi untuk menyimpan, mengatur, dan mengelola data secara efisien, terstruktur, dan aman.

Secara umum, database terdiri dari satu atau lebih tabel yang terdiri dari kolom dan baris. Setiap kolom pada tabel mewakili sebuah atribut atau jenis data, seperti nama, alamat, atau tanggal lahir, sementara setiap baris pada tabel merepresentasikan sebuah entitas atau objek yang berkaitan dengan data tersebut, seperti orang, buku, atau transaksi.

Dengan adanya database, pengguna dapat dengan mudah menambah, mengubah, menghapus, dan mencari data secara efisien dan akurat. Hal ini membuat database sangat penting dalam berbagai aplikasi, seperti sistem informasi manajemen, e-commerce, perbankan, dan lain sebagainya. 

FUNGSI DAN JENIS JENIS DATABASE

Database memiliki beberapa fungsi penting dalam pengelolaan data, di antaranya:
  • Menyimpan dan Mengelola Data: Fungsi utama database adalah menyimpan data dalam sebuah sistem terstruktur dan mengelolanya dengan efisien. Dengan menggunakan database, data dapat diakses, disimpan, diperbarui, dan dihapus dengan mudah dan cepat.
  • Menyediakan Keamanan Data: Database menyediakan fitur keamanan untuk mencegah akses yang tidak sah atau manipulasi data. Hal ini dapat dilakukan dengan menggunakan password, enkripsi, atau hak akses pengguna.
  • Meningkatkan Efisiensi: Database memungkinkan akses dan pengelolaan data yang lebih cepat dan efisien. Hal ini dapat mengurangi waktu yang dibutuhkan untuk menemukan informasi yang dibutuhkan dan memungkinkan pengguna untuk bekerja lebih efisien.
  • Meningkatkan Akurasi Data: Database dapat membantu meningkatkan akurasi data dengan memastikan bahwa data yang dimasukkan ke dalam sistem terstruktur dan konsisten. Hal ini dapat mengurangi kesalahan data dan meningkatkan kualitas data.
  • Membuat Laporan dan Analisis Data: Database memungkinkan pengguna untuk membuat laporan dan melakukan analisis data dengan mudah. Hal ini dapat membantu pengambilan keputusan yang lebih baik dan meningkatkan kinerja bisnis.
  • Mengotomatisasi Tugas: Database dapat digunakan untuk mengotomatisasi tugas-tugas seperti pembaruan data, pencarian, dan pemrosesan data. Hal ini dapat mengurangi waktu yang dibutuhkan untuk menyelesaikan tugas dan memungkinkan pengguna untuk fokus pada tugas yang lebih penting.
  • Meningkatkan Kolaborasi: Database memungkinkan pengguna untuk berbagi data dengan mudah dan bekerja sama dalam proyek yang sama. Hal ini dapat meningkatkan kolaborasi dan meningkatkan kinerja tim.
Berikut adalah beberapa jenis database yang umum digunakan:
  • Database Relasional: Database relasional adalah jenis database yang terdiri dari satu atau lebih tabel yang terhubung satu sama lain melalui kunci asing. Database ini menggunakan SQL sebagai bahasa untuk mengelola data dan memungkinkan pengguna untuk menyimpan, mengambil, memperbarui, dan menghapus data.
  • Database NoSQL: Database NoSQL adalah jenis database yang dirancang untuk menangani data yang sangat besar dan kompleks, seperti data yang disimpan dalam sistem terdistribusi dan data yang berubah dengan cepat. NoSQL menggunakan model data yang tidak terstruktur dan tidak membutuhkan skema tetap.
  • Database Terdistribusi: Database terdistribusi adalah jenis database yang terdiri dari beberapa node atau komputer yang saling terhubung untuk membentuk jaringan. Setiap node memiliki akses ke semua data dalam database dan saling mengelola data tersebut.
  • Database Objek: Database objek adalah jenis database yang menggunakan konsep objek seperti kelas dan objek dalam pemrograman berorientasi objek untuk mengelola data.
  • Database Berorientasi Dokumen: Database berorientasi dokumen adalah jenis database yang dirancang untuk menyimpan dan mengelola dokumen dalam format JSON atau XML.
  • Database In-memory: Database in-memory adalah jenis database yang menggunakan memori utama komputer sebagai tempat penyimpanan data. Database ini memungkinkan akses data yang sangat cepat dan cocok untuk aplikasi yang membutuhkan performa tinggi.
  • Database Grafik: Database grafik adalah jenis database yang dirancang untuk menyimpan dan mengelola data dalam bentuk grafik atau jaringan. Database ini memungkinkan pengguna untuk menyimpan data dalam bentuk node dan edge, dan menggunakan algoritma grafik untuk menganalisis data tersebut.

Senin, 13 Februari 2023

Docker

 

Docker adalah sebuah platform perangkat lunak yang memungkinkan pengembang untuk mengemas aplikasi dan dependensi yang dibutuhkan ke dalam wadah (container) yang dapat dijalankan di berbagai lingkungan, termasuk di lingkungan lokal maupun di cloud. Dengan menggunakan Docker, pengembang dapat memastikan bahwa aplikasi dapat berjalan dengan konsisten dan dapat dipindahkan dengan mudah di berbagai lingkungan, tanpa perlu mengkhawatirkan perbedaan konfigurasi atau dependensi di lingkungan yang berbeda. Hal ini memudahkan pengembangan, distribusi, dan skalabilitas aplikasi secara efisien dan konsisten.
 
Install terlebih dahulu docker pada destop kalian, lalu login/sign in pada docker.

Download image Nginx, Phpmyadmin, Tomcat untuk membuat web, dan Databese Mysql pada Docker hub

Langkah pertama adalah mendownload image Ngingx, Phpmyadmin, dan Tomcat untuk membuat web server dan databese MySQL menggunakan Docker hub, berikut perintah-perintah untuk mendownload image Docker pada terminal.







Membuat container untuk Development, dengan port 8081 melewati port private 8080.

Untuk membuat container development dengan port 8081 dan melewati  port private gunakan command berikut ini;


Command docker run -d --name novipa-mywebsite-container -p 8081
;8080 tomcat:latest berfungsi untuk membuat container yang berjalan pada image Tomcat yang telah ditentukan sebelumnya.
  • docker :  program yang digunakan untuk mengola container
  • run : perintah yang membuat dan menjalankan container
  • -d : opsi ini menandakan bahwa container sedang dijalankan di dalam mode "detached", sehingga tidak menempati terminal yang sedang digunakan
  •  --name novipa-mywebsite-container : untuk memberikan nama pada container yang akan dibuat, contoh disini diberikan nama --name novipa-mywebsite-container
  • -p 8081:8080 : untuk mengaitkan post yang ada pada host dengan post yang ada dalam container. Jadi port 8081 pada host diarahkan ke port 8080 pada container tomcat. Ketika kita mengakses port 8081 pada host, maka kita mengakses port 8080 pada container tomcat
  • tomcat:latest : iamge tomcat yang akan digunakan untuk membuat container, dengan tag "latest".
Command docke rexec -it novipa-mywebsite-container /bin/bash merupakan perintah untuk masuk ke terminal di dalam "novipa-mywebsite-container"
  • docker : program yang digunakan untuk mengelola container
  • exec : untuk mengeksekusi sebuah perintah pada container yang sedang berjalan
  • -it : opsi ini menandakan bahwa kita igin masuk ke dalam mode interaktif di terminal di dalam container
  • novipa-mywebsite-container : nama container yang akan di akses di terminal.
  • /bin/bash ; untuk mrmasuki terminal container dengan shell bash.
Command cp -R webapps.dist/* webapps untuk menyalin seluruh isi direktori "webapps.dist" kedalam direktori "webapps".
  • cp : cp yang dimaksud adalahh "copy" untuk menyalin file atau direktori
  • -R : ini menandakan bahwa perintah cp akan menyalin isi dari sebuah direktori
  • webapps.dist/* : lokasi yang akan disalin
  • webapps : tempat file disalin, seluruh isi direktori "webapps.dist' akan disalin kedalam direktori "webapps".
lalu command exit untuk keluar dari program ynag sedamg berjalan.

Membuat databese MySQL pada container.

Jalankan terlebih dahulu mysql yang sudah diinstal menggunakan command betikut:


  • docker : program docker yang digunakan untuk mengelola container
  • container ; menandakan bahwa kita akan membuat container baru
  • run : untuk menjalankan sebuah container baru
  • --name novipa-mydb-container : untuk menentukan nama dari container yang akan dibuat
  • -e MYSQL_ROOT_PASSWORD=novicantik06 : digunakan untuk menentukan kata sandi root SQL
  • -d : container yang dijalankan dalam mode daemon, yang berarti container akan terus berjalan di latar belakang.
  • mysql:latest : nama dan tag untuk image docker yang akan digunakan untuk membuat container

Command docker exec -it novipa-mydb-container /bin/bsdh perintah untuk memasuki shell interaktif di dalam container dosker yang sedang berjalan.

Command myswl -u root -p perintah untuk mengakses sever databese dengan menggunakan akun root.

Selanjutnya membuat databese biodata dan membuat table dengan perintah-perintah berikut ini:


  • create databese ; berfungsi untuk membuat daatabese
  • use : berfungsi untuk masuk ke databese novipa
membuat table biodata yang memiliki 5 field berisi nama, ttl, alamat, jk, agama, yang menggunakan tipe data varchar dengan lenght 50.




Membuat databese interface PhpMyAdmin

gunakan perintah berikut untuk membuat databese dengan tampilan PhpMyAdmin\

  • docker : program docker yang digunakan untuk mengelola container
  • run : untuk menjalankan container baru
  • --name novipa-phpmyadmin-container: nama yang diberikan untuk container yang akan dibuat
  • -d : untuk menjalankan container di backrounf
  • -p 8080:80 : memetakan port pada host container, port 8080 pada host akan diarahkan ke port 80 pada container
  • --link novipa-mydb-container:db : untuk menghubungkan container phpmyadmin dengan container mysql, dalam hal ini memungkinkan phpmyadmin untuk tersambung ke server mysql yang berjalan di dalam container mysql tersebut
  • phpmyadmin/phpmyadmin : nama image docker untuk membuat container baru
Setelah itu lalu jalankan pada web browser anda pada alamat hhtp://localhost:8080, jika sudah terhubung maka tampilan nya akan seperti gambar berikut.




Upload image/repository ke docker hub

Sebelum mengupload image ke docker hub, langkah pertama membuat images terlebih dahulu, disini saya menggunakan images dari mysql yang telah di install sebelumnya.


Pada gambar diatas merupakan perintah untuk membuat docker image dengan nama db-novipa:V1 yang diambil dari container novipa-mydb-container. Lalu login ke docker menggunakan perintah docker login, jika sudah ubah image yang sudah dibuat menjadi novipa/db-novipa:V1 dengan menggunakan perintah sebagai berikut.


Setelah proses tadi selesai push image yang sudah dibuat menggunakan perintah sebagai berikut.




Create container yang berisi sistem operasi centos lalu installkan package telnet di dalamnya.

install image centos terlebih dahulu;

jalankan centos menggunakan command docker run -it --name novipa-centos-container centos /bin/bash

jika sudah berhasil dijalankan, kemudian install telnet, tapi sebelum itu ganti repositori centod linux ke repositori centos stream, mengunakan command berikut;
dnf --disablerepo '*' --enablerepo=extras swap centos-linux -repos centos-stream-repos
untuk memperbaharui paket ke versi terbaru gunakan perintah sebagai berikut:

setelah selesai semua lalu install kan telnet dengan perintah sebagai berikut;

 



Kamis, 09 Februari 2023

Ansible dan zero to zero

 1. Membuat automation dengan ansible menjalankan perintah install Telnet pada minimum 2 Servers :

  • buatlah server minimal 2 terlebih dahulu, lalu masukan server yang sudah aktif ke hosts


  • pastikan server sudah aktif dan berwarna hijau

  • Pastikan ansible sudah terinstall terlebih dahulu. lalu kita bisa mengcek nya menggunakan command ansible --version

  • Buat file di dalam /etc/ansible  dengan nama file "install.package.yaml", dan sesuaikan isinya seperti gambar di bawah ini;
  • Selanjutnya gunakan command ansible-playbook -i /etc/ansible/hosts --extra-vars "package_name=telnet" install.package.yml untuk menjalankan playbook


2. Membuat automation dengan ansible menjalankan command memeriksa filesystem usage pada target host 

  • Buatlah file pada playbook dengan isi seperti gambar berikut ;

  • gunakan command ansible-playbook (nama file playbook) untuk menjalankan hasilnya, jika berhasil akan tertampil seperti berikut;

3. Membuat automation dengan ansible untuk membuat user pada target hosts
  • Buatlah sebuah file playbook dengan format yaml, isi file tersebut seperti gambar berikut;

  • Selanjutnya, jalankan file playbook menggunakan command ansible-playbook -i hosts playbook.yaml

4. Membuat automation dengan ansible menjalankan command telnet ke server tujuan ke port22.
  • Buatlah file playbook yang berekstensi yml , lalu isi file tersebut dengan inputan seperti gambar berikut ;

  •  Dan yang terakhir jalankan playbook dengan menggunakan command ansible-playbook check_telnet.

5. Perbedaan automation platform AWX dan Ansible Tower

Meskipun keduanya memiliki banyak fitur yang sama, ada beberapa perbedaan utama antara keduanya
  1. Open Source vs Proprietary: AWX adalah platform open source yang dapat diunduh dan diinstal gratis, sedangkan Ansible Tower adalah platform berbayar yang dikembangkan oleh Red Hat.
  2. Fitur: Ansible Tower menawarkan fitur tambahan seperti integrasi dengan sistem manajemen sumber daya (RBAC), integrasi dengan perangkat lunak lain seperti Jira dan GitHub, dan integrasi dengan sistem monitoring seperti Nagios.
  3. Scalability: Ansible Tower memiliki opsi skalabilitas yang lebih baik dibandingkan dengan AWX. Ansible Tower dapat digunakan untuk mengelola tugas dan inventori untuk jaringan yang lebih besar dan kompleks.
  4. Dukungan: Ansible Tower memiliki dukungan yang lebih baik dibandingkan dengan AWX, karena dikembangkan dan didukung oleh Red Hat.
  5. User Experience: Ansible Tower menawarkan antarmuka pengguna yang lebih baik dan lebih intuitif dibandingkan dengan AWX.
Secara keseluruhan, jika Anda memerlukan platform yang lebih kuat dengan fitur tambahan dan dukungan yang lebih baik, maka Ansible Tower mungkin menjadi pilihan yang lebih baik. Namun, jika Anda mencari solusi open source yang lebih murah, maka AWX mungkin menjadi pilihan yang lebih baik.

Restful Api

PENGERTIAN RESTful API (Representational State Transfer) adalah suatu arsitektur untuk membuat API (Application Programming Interface) yang ...