Minggu, 07 Mei 2023
Minggu, 23 April 2023
Navigation
Navigation adalah cara untuk mengelola perpindahan antara satu layar ke layar lain dalam sebuah aplikasi Android. Navigation pada Android dapat dilakukan dengan berbagai macam cara, namun sejak diperkenalkannya Android Jetpack pada tahun 2018, Google merekomendasikan penggunaan Navigation Component sebagai alat bantu dalam mengelola navigasi dalam aplikasi. Navigation Component adalah bagian dari Android Jetpack, sebuah kumpulan library dan alat bantu untuk membangun aplikasi Android dengan lebih mudah dan cepat. Dengan Navigation Component, kita dapat dengan mudah membuat dan mengelola navigasi dalam aplikasi menggunakan file XML yang disebut Navigation Graph. Navigation Graph berisi informasi tentang struktur navigasi dalam aplikasi, termasuk fragment dan action yang terkait. Selain itu, Navigation Component juga menyediakan beberapa fitur bawaan yang berguna dalam mengelola navigasi, seperti animasi transisi, deep linking, dan back stack management. Fitur-fitur ini dapat membantu kita dalam memperbaiki pengalaman pengguna dalam menggunakan aplikasi. Untuk menggunakan Navigation Component, kita perlu menambahkan library navigation pada file build.gradle. Setelah itu, kita dapat mulai membuat file XML Navigation Graph dan menggunakannya dalam kode aplikasi kita.
Minggu, 16 April 2023
Fragment Android
Fragment pada android digunakan untuk membagi sebuah Activity menjadi beberapa bagian yang dapat diatur secara independen. Dengan menggunakan fragment kita dapat membut UI menjadi rensponsive mengikuti ukuran device pengguna. Jadi kesimpulan nya jika kita ingin membuat tampilan yang rensponsive sesuai dengan device pengguna dan ingin memecah antarmuka pengguna mejadi beberapa bagian yang dapat diatur per bagian nya secara independen, Fragment jawaban nya.
Berikut contoh penggunan Fragment
Main Activity
Objek fragmentManager di instansiasi untuk melakukan manipulasi pada fragment seperti menambah, menghapus, mengganti fragment. Ini biasa disebut dengan Fragment Transaction. Lalu kita buat variabel homeFragment untuk menampung Objek dari HomeFragment yang akan kita gunakan nanti untuk menambah kan fragment pada MainActivity. Sebelum fragment ditambahkan ke Activity kita harus melakukan filter dulu. Bisa di lihat di code nya ada per kondisian jika (fragment !is HomeFragment) maka Akan ada log untuk mentrack aplikasi ketika running. Setelah itu kita tambahkan fragment dengan
fragmentManager.beginTransaction().add(r.id.nama_layout, fragment, NamaClass).commit()
- beginTransaction() untuk syarat melakukan manipulasi fragment.
- add() untuk mengaitkan fragment dengan layout tertentu.
- commit() menandakan bahwasanya manipulasi fragment sudah selesai dan fix.
Tambahkan pada code pada activity HomeFragment menjadi seperti ini
- OnCreateView adalah method yang akan pertama di eksekusi ketika sebuah fragment dibuat atau ditampilkan. Pada moment inilah kita menautkan sebuah layout ke fragment. Dengan kata kunci inflater.inflate(R.layout.nama_layout)
- OnViewCreated adalah method yang akan dieksekusi setelah method OnCreateView. Disini kita menginstansiasi objek dari komponen yang ingin kita tambahkan
- OnClick() untuk menambahkan aksi ketika sebuah button di klik. Pada kasus ini ketika button ke kategori di klik maka akan melakukan replace fragment CategoryFragment
Minggu, 09 April 2023
Elegant is ViewBinding
ViewBinding merupakan sebuah fitur yang diperkenalkan pada Android Studio 3.6 dan seterusnya, Dengan view binding kita dapat mengakses elemen UI (User Interface) dalam sebuah layout XML tanpa harus memanggil fungsi findViewById() secara manual. Dengan ini kita dapat menghemat waktu dan memperkecil risiko kesalahan saat mengambil referensi elemen UI, karena ViewBinding menghasilkan kelas binding yang secara otomatis menghasilkan referensi ke setiap elemen UI dalam layout XML yang terkait. Sebagai hasilnya, kita dapat dengan mudah mengakses elemen UI tersebut Activity kita dengan menggunakan reference yang dihasilkan oleh ViewBinding, tanpa perlu melakukan inisialisasi variabel dengan tipe data sesuai komponen tertentu
Dengan Menggunakan ViewBinding
Tidak Menggunakan ViewBinding
Senin, 30 Januari 2023
Kamis, 12 Januari 2023
Alghoritm & Data Structures
HelloWorld
PostgreSQL
HelloWorld
Rabu, 11 Januari 2023
JAVA ESSENTIALS
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus lobortis, sem ut tempor efficitur, enim augue venenatis tortor, a consectetur nunc velit eu mi. In felis justo, tempor nec ornare quis, suscipit sed neque. Vestibulum congue congue gravida. Nunc vitae interdum quam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nullam placerat dolor ut auctor finibus. Nunc eget tortor ullamcorper, fermentum risus sed, luctus metus. In fermentum hendrerit sagittis. Ut nec purus sem. Praesent in mattis augue. Phasellus a tellus posuere, scelerisque justo ut, ullamcorper est. Maecenas eget sapien nulla. Morbi enim leo, blandit non magna eu, fringilla consequat libero.
Suspendisse ac magna tortor. Integer aliquet quam ut leo porta, sed vehicula leo porta. Ut egestas eu sapien a dapibus. Mauris fringilla diam vel nunc hendrerit, sit amet blandit dolor consectetur. Duis sagittis volutpat ante a aliquet. Praesent vitae tortor dolor. Integer vehicula sed diam a mattis. Sed fringilla dui sed molestie dignissim. Ut quis nunc nulla. Vestibulum vitae magna fermentum, euismod metus et, imperdiet nisi. Suspendisse felis ligula, volutpat sed blandit vel, bibendum ut massa. Sed mauris nunc, egestas iaculis elit a, ultrices egestas eros.
Nunc vel neque fermentum, luctus tellus a, mollis ante. Nam id lobortis ex. In tempus sed enim at auctor. Sed in nunc convallis, pharetra sapien eu, pulvinar nunc. Nullam ac quam ipsum. Sed venenatis ullamcorper porttitor. Phasellus interdum feugiat felis eget consectetur.
Rabu, 14 Desember 2022
PostgreSQL - LIMIT
Tabel yang ingin digunakan
PostgreSQL - LIMIT
LIMIT merupakan klausa/keyword untuk membatasi record yang ingin ditampilkan dari suatu tabel.
Lets say kita dihadapkan dengan kasus tabel warga, warga ingin tahu 3 record pemberi iuran tertinggi pada bulan ini. Tapi hanya 3 record saja. nah mau engga mau kita bakal menggunakan klausa LIMIT ini. Dengan meng set hanya 3 record saja yang akan ditampilkan
- Kita pilih kolom dari tabel yang ingin kita tampilkan
SELECT nama, jenis_kelamin, iuran
- Selanjutnya kita pilih tabel dari data yang ingin kita gunakan
FROM tabel_warga
- Setelah statement FROM table. lalu kita tuliskan ORDER BY diikuti dengan kolom yang ingin kita cari nilai tertinggi nya setelah nya tuliskan DESC untuk menampilkan data paling bawah dimana data tersebut adalah data data dengan nilai tinggi
ORDER BY iuran DESC
- SeteLah statement ORDER BY, maka tentukan LIMIT nya, LIMIT disini sebagai batas record yang akan ditampilkan
LIMIT 3;
Hasilnya
Rabu, 09 November 2022
Named Vs ManagedBeans
Kalau menggunakan named pada bean maka package yang harus di import adalah
import javax.faces.view.ViewScoped;
Sedangkan kalau menggunakan ManagedBeans maka package yang harus di import adalah
import javax.faces.bean.ViewScoped;
Namun sejak Java EE8 ManagedBeans is deprecated(tidak direkomendasikan lagi)
Senin, 31 Oktober 2022
DISTINCT PostgreSQL
DISTINCT PostgreSQL
sample table: table_karyawan
Distinct digunakan untuk menghandle masalah duplikasi data pada table. Dengan menggunakan distinct kita bisa menampilkan setiap row tanpa adanya data yang duplikat
Distinct bisa diterapkan lebih dari 1 kolom (multiple distinct)
Distinct On digunakan ketika ingin melakukan distinct pada kolom tertentu diantara kolom lain nya
Keyword Distinct dityping setelah comand SELECT di ikuti dengan kolom yang ingin di Distinct
Contoh kasus
Penerapan DISTINCT
Setelah melakukan Distinct kolom yang ditampilkan disetiap row tidak terjadi duplikat. Karena Distinct akan mengeleminasi setiap row yang mempunyai value yang sama. Sehingga jika sebelumnya ada 3 row yang sama maka akan di eliminisi hingga menjadi 1 row saja. dan 1 row tersebut yang akan ditampilkan
Penerapan DISTINCT MULTIPLE COLUMN
Masih dengan menggunakan tabel yang sama. kita akan menerapkan Distinct dengan lebih dari 1 kolom.
Kita akan menerapkan Distinct pada 2 kolom dari tabel_karyawan yaitu kolom nama,tip.
Dengan menggunakan Distinct pada kedua kolom kita akan menggabungkan kedua record dari kolom tersebut hingga menjadi row. Dan row tersebut akan dibandingkan dengan row selanjutnya jika ada row yang record dari kedua kolomnya sama maka akan di eliminasi
Diatas ini adalah contoh adanya record yang terjadi duplicate. record tersebut adalah Aulia pada no 8. id, nama, dan tip nya sama dengan row setelahnya yang ada pada no 9. Ketika kita menerapkan Distinct pada kedua kolom tersebut yaitu nama dan tip. maka row no 9 akan di eliminasi karena hanya dia yang datanya duplikat dari setiap row yang ada pada tabel_karyawan
Pada gambar diatas kita bisa lihat bahwasanya setiap record dari row tidak ada duplikasi. Karena record yang terjadi duplikasi sudah di eliminasi.
WHERE PostgreSQL
WHERE PostgreSQL
Sample table
WHERE adalah command/keywords yang digunakan untuk melakukan
filterisasi untuk setiap row/record dari sebuah table.
Jika kondisi pada
WHERE terpenuhi maka dia akan menampilkan row/record dari tabel tersebut
WHERE sering digunakan untuk mencari data berdasarkan kondisi
tertentu
WHERE di typing setelah baris FROM Table
WHERE dapat digunakan bersamaan dengan AND, OR, NOT, Equals, Not equal(<> || !=), Greater than, Less than, Greater than or equal, Less than equal, IN, BETWEEN, LIKE, ISNULL
Contoh Penggunaan WHERE dengan Equals =
SELECT PostgreSQL
SELECT PostgreSQL
Sample table: table_pegawai
- Select merupakan command/keyword yang sering digunakan pada PostgreSQL
- Select digunakan untuk memilih kolom mana saja yang ingin ditampilkan dari record row pada suatu table
- Jika kita akan memilih kolom lebih dari 1, maka harus menambahkan ‘,’ di setiap kolom. Contohnya kolom yang ingin ditampilkan pada suatu table ada 3. Maka typing untuk kolom nya seperti ini
”SELECT id_pegawai, nama_pegawai, pekerjaan”
- Jika kita ingin memilih semua kolom dari record/row pada tabel untuk ditampilkan maka kita bisa menggunakan * setelah command SELECT. Star ’*’ disini menandakan keseluruhan.
”SELECT * FROM table_pegawai”
- Setelah memilih kolom mana saja yang ingin ditampilkan, maka kita harus memberi tahukan juga pada postgre, kolom yang ingin ditampilkan berasal dari table apa, Oleh karena itu ketika kita selesai memilih kolom mana yang ingin ditampilkan. maka wajib bagi kita meng typing kan command/keyword FROM di ikuti dengan nama table dari kolom nya.
- Dengan menggunakan SELECT juga kita bisa meng customize nama kolom. Jadi kita bisa mengcustom nama kolom yang ingin ditampilkan sesuai dengan yang kita inginkan. Berikut cara nya
" SELECT id_pegawai "id", nama_pegawai "nama" FROM table_pegawai;"
Kamis, 27 Oktober 2022
SUB QUERY
SUB QUERY
Subquery adalah sebuah query yang
ada didalam query
Subquery bisa mempunyai subquery lain. Sub query digunakan
untuk mendapatkan data dari sebuah kondisi tertentu yang nantinya akan
digunakan di outer query(query utama)
Subquery bisa digunakan dengan SELECT, INSERT, UPDATE, atau
operator seperti =, <, >, >=, <=, IN, BETWEEN
Syarat melakukan sub query
·
Subquery harus diapit dengan () dan pada akhir
statement sub query tidak boleh ada;
·
Dalam kasus SELECT. Subquery hanya bisa
mempunyai 1 kolum.
Su Table yang digunakan
Sub
Query Contoh 1
SELECT *
FROM tabel_karyawan
WHERE id IN (SELECT id
FROM tabel_karyawan
WHERE tip > 4000);
Sub Query Contoh 2
SELECT *
FROM
tabel_karyawan
WHERE tip IN
(SELECT MAX (tip)
FROM tabel_karyawan);
Kamis, 20 Oktober 2022
PostgreSQL Coalesce
PostgreSQL COALESCE
Coalesce adalah fungsi dari PostgreSQL yang digunakan untuk mengevaluasi nilai dengan argument null dan akan mengembalikan nilai yang tidak null jika argument selanjutnya tidak null. Namun jika semua argumen didalam fungsi ini null maka akan mengembalikan null juga
COALESCE(argumen1, argumen2)
Jika argumen pertama value nya null maka COALECE akan mengembalikan argument ke 2, namun jika argumen2 juga null maka COALESCE akan mengembalikan null juga. Kita dapat membuat parameter ke 2 sebagai antisipasi jika ada nilai null.
Contoh
Lets say anggeplah dibawah ini data dari sebuah table yang namanya tabel_gudang
nama | jenis_barang | harga | diskon |
Baju Hitam | Fashion | 20_000 | null |
Nah dalam studikasus ini ada diskon, dan kita harus menampilkan data nya ke sebuah tabel yang ada dalam sebuah web, dan data yang ditampilkan adalah kolom total_harga. dimana data dari kolom total_harga ini dihasilkan melalui harga barang di kurang diskon,
Baju hitam = harga - diskon = ?
Jawabanya maka akan menjadi null
Sehingga jadi nya total harga setelah diskon dari barang Baju hitam akan menjadi null
Dan disinilah Fungsi COALESCE dibutuhkan
Studi Kasus
Tanpa Menggunakan COALESCE
Tanpa menggunakan Coalesce ketika price dikurang discount dan discount nya null maka hasilnya akan menjadi null
Rabu, 19 Oktober 2022
PostgreSQL Group By
Tabel yang digunakan
GROUP BY Pengertian
Group by digunakan untuk melakukan pengelompokan baris dalam tabel yang data dari column duplicate, hampir sama seperti DISTINCT. nah perbedaanya distinct menghapus data yang duplikat sedangkan GROUP BY tidak.
GROUP BY hanya mengelompokan nya menjadi satu row/baris, sehingga kita bisa memanipulasi data tersebut menggunakan FUNCTION seperti MAX, MIN, SUM, AVERAGE.
- Kita pilih kolom dari tabel yang ingin kita lakukan Grouping
SELECT nama
- Selanjutnya kita pilih tabel dari data yang ingin kita gunakan
FROM tabel_warga
- Setelah statement FROM table. lalu kita tuliskan GROUP BY diikuti dengan nama kolom yang data nya ingin kita GROUP BY nama_kolom. contoh pada kasus ini kita menggunakan nama pada tabel yang ingin kita lakukan GROUPING
GROUP BY nama;
IMPLEMENTASI
Berikut dibawah merupakan tampilan data yang belum dilakukan GROUPING. masih banyak duplikasi pada setiap data dari kolom nama
SELECT namaFROM tabel_wargaGROUP BY nama;
Grouping
with SUM
SUM adalah fungsi untuk untuk melakukan operasi penjumlahan. Jikalau kita ingin melakukan penjumlahan pada setiap data yang ada dari sebuah group. maka disinilah SUM dibutuhkan.
Lets say kita ingin melakukan penjumlahan pada setiap data yang telah di group. Pada kasus ini kita akan menjumlahkan setiap data kolom iuran dari kolom nama 'andhika'
Jika dilakukan GROUPING BY nama dan menggunakan fungsi SUM pada iuran maka setiap data dari sebuah GROUP akan dijumlah kan sehingga total dari iuran milik andhika setelah di GROUP adalah 12000
Cara Menggunakan- Kita pilih kolom dari tabel yang ingin kita lakukan Grouping, Selanjutnya kolom yang ingin kita lakukan fungsi SUM. Pada kasus ini kolom yang ingin kita lakukan GROUPING adalah kolom nama dan kolom yang ingin kita lakukan SUM adalah kolom iuran milik Andhika
SELECT nama, SUM(iuran)
- Selanjutnya kita pilih tabel dari data yang ingin kita gunakan
- Jika kalian ingin melakukan filterisasi. kita dapat melakukanya setelah statement FROM
FROM tabel_warga
WHERE nama = 'andhika'
- Setelah itu tuliskan query GROUP BY sesuai dengan kolom yang ingin dilakukan GROUPING. pada kasus ini kita melakukan GROUPING nama.
GROUP BY nama;
Hasilnya
- Kita pilih kolom dari tabel yang ingin kita lakukan Grouping, Selanjutnya kolom yang ingin kita lakukan fungsi MAX. Pada kasus ini kolom yang ingin kita lakukan GROUPING adalah kolom nama dan kolom yang ingin kita lakukan MAX adalah kolom iuran milik Andhika
SELECT nama, MAX(iuran)
- Selanjutnya kita pilih tabel dari data yang ingin kita gunakan
- Jika kalian ingin melakukan filterisasi. kita dapat melakukanya setelah statement FROM
FROM tabel_warga
WHERE nama = 'andhika'
- Setelah itu tuliskan query GROUP BY sesuai dengan kolom yang ingin dilakukan GROUPING. pada kasus ini kita melakukan GROUPING nama.
GROUP BY nama;
- Kita pilih kolom dari tabel yang ingin kita lakukan Grouping, Selanjutnya kolom yang ingin kita lakukan fungsi MIN. Pada kasus ini kolom yang ingin kita lakukan GROUPING adalah kolom nama dan kolom yang ingin kita lakukan MIX adalah kolom iuran milik Andhika
SELECT nama, MIN(iuran)
- Selanjutnya kita pilih tabel dari data yang ingin kita gunakan
- Jika kalian ingin melakukan filterisasi. kita dapat melakukanya setelah statement FROM
FROM tabel_warga
WHERE nama = 'andhika'
- Setelah itu tuliskan query GROUP BY sesuai dengan kolom yang ingin dilakukan GROUPING. pada kasus ini kita melakukan GROUPING nama.
GROUP BY nama;
- Kita pilih kolom dari tabel yang ingin kita lakukan Grouping, Selanjutnya kolom yang ingin kita lakukan fungsi MIN. Pada kasus ini kolom yang ingin kita lakukan GROUPING adalah kolom nama dan kolom yang ingin kita lakukan MIX adalah kolom iuran milik Andhika
SELECT nama, COUNT(iuran)
- Selanjutnya kita pilih tabel dari data yang ingin kita gunakan
- Jika kalian ingin melakukan filterisasi. kita dapat melakukanya setelah statement FROM
FROM tabel_warga
WHERE nama = 'andhika'
- Setelah itu tuliskan query GROUP BY sesuai dengan kolom yang ingin dilakukan GROUPING. pada kasus ini kita melakukan GROUPING nama.
GROUP BY nama;
PostgreSQL Join
![]() |
| tabel_pegawai |
![]() |
| tabel_domisili |
![]() |
| tabel_gaji |
INNER JOIN
Inner Join adalah jenis join dengan membandingkan record di setiap table untuk
dicek apakah nilai sama atau tidak. Jika nilai kedua table sama, maka akan
terbentuk table baru yang hanya menampilkan record yang sama dari kedua table.
Pada kasus kali ini yang akan menjadi nilai perbandingan nya adalah id_pegawai milik tabel_pegawai dan id milik tabel_gaji dan tabel_domisili. Jika kalian ingin memerge kedua table dan ingin menampilkan hasil yang dari
kedua record yang id nya match maka gunakan inner join
Masukan column yang ingin di join setelah query SELECT,
Dengan inner join kita bisa menyatukan column pada table berbeda dan disatukan
dalam bentuk table. Untuk mengakses columnya kita harus mentyping kan nama
tabelnya di ikuti dengan field nya. Contoh kita ingin mengakses column
nama_pegawai yang ada pada table_pegawai maka jadinya seperti ini
“ SELECT table_pegawai.nama_pegawai ”
atau bisa juga seperti ini, jika nama tabelnya sudah dibuat
kan variabelnya maka kita tinggal panggil nama variabel nya “
“ SELECT tp.nama_pegawai” // tp adalah represent dari
tabel_pegawai yang telah di declare Ketika from
tabel_pegawai dibuat
Pada kasus ini kita akan malakukan inner joint pada table
pegawai dengan table_gaji dan table domisili(triple inner joint)
Query
SELECT tp.id_pegawai,
tp.nama_pegawai,
tp.job
tg.gaji_pegawai
td.kota
td.daerah
FROM table_pegawai tp
INNER JOIN table_domisili td ON tp.id_pegawai = td.id
INNER JOIN table_gaji tg ON tp.id_pegawai = tg.id
RIGHT JOIN
Konsep RIGHT JOIN hampir sama seperti LEFT JOIN hanya yang menjadi master adalah table kanan (right table). Jika table kiri tidak sama nilainya dengan table kanan, maka akan diisi nilai NULL pada table kiri.
Pada kasus ini tidak ada null karena tabel kiri dan tabel kanan id nya match
![]() |
LEFT JOIN
LEFT JOIN menghasilkan nilai berdasarkan table kiri (left table) dan nilai yang sama di table kanan (right table). Jika pada table kanan tidak sama nilainya dengan table kiri, maka akan menjadi nilai NULL pada table kanan. Dibawah ini id dan nama barang pada column 3 null karena id pada table(kanan) tersebut tidak match dengan tabel kiri(transaksi penjualan second)
![]() |




























