Selasa, 18 Juni 2019




 1)ENKAPSULASI

      Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan oleh program lain. Dalam Java, dasar enkapsulasi adalah class. Anda membuat suatu class  yang menyatakan bahwa variable atau method sebuah class  tidak dapat diakses oleh class lain dengan menjadikan class tersebut private, atau menjadikan class  tersebut protected yaitu hanya bisa diakses oleh turunannya, atau menjadikan class tersebut public yaitu bisa diakses oleh sembarang class.
Dengan melakukan enkapsulasi pada data, berarti kamu membuat data dari sistemmu lebih secure dan terpercaya. Karena kamu mengetahui bagaimana data diakses dan operasi apa yang sedang berjalan pada data. Hal ini membuat maintenance program menjadi lebih mudah. Kamu juga dapat memodifikasi metode yang digunakan untuk kerja pada data, dan jika kamu tidak merubah bagaimana metode itu diminta dan tipe response dikirim balik, maka kamu tidak dapat merubah object lain dengan menggunakan metode tersebut .
Ada dua hal yang mendasar dari enkapsulasi yaitu information hiding dan interface to access data.
  • Information hidingmaksudnya adalah menyembunyikan informasi dari suatu class agar tidak bisa diakses oleh class lainnya dengan cara memberikan modifier private pada variabel yang akan disembunyikan.
  • Interface to access datasesuai dengan namanya, digunakan untuk mengakses nilai dari suatu variabel yang telah disembunyikan oleh information hiding baik itu mengambil nilai ataupun mengubah nilai. Hal ini dilakukan dengan menggunakan method, dengan method ini kita dapat mengakses variabel yang telah mengalami information hiding.
 Enkapsulasi terbagi menjadi 3 jenis, yaitu public, protected, dan private.
  • Public Merupakan suatu modifier yang memungkinkan setiap variabel maupun method yang dideklarasikan dengan  dalam class public ini dapat diakses oleh setiap class baik dalam package yang sama maupun package yang berbeda.
  • Protected Merupakan suatu modifier  yang digunakan untuk memproteksi suatu class. Sehingga hanya class dan subclass tersebutlah yang dapat mengakses varibel maupun method dalam class tersebut, baik dalam package yang sama maupun dalam package yang berbeda.
  • Private Merupakan kata kunci yang dideklarasikan dalam suatu class agar setiap variabel dan method yang berada dalam class private ini hanya dapat diakses oleh class yang sama. Didalam bahasa pemgrograman java class yang bersifat private memproteksi agar semua variabel dan methodnya tidak dapat di akses oleh semua subclass dan non subclass di package yang sama, dan subclass dan non subclass di package yang berbeda.



Jika modifiernya public dan protected maka variabel tersebut dapat dipanggil pada subclassnya. Sedangkan jika modifiernya private maka variabel tersebut tidak dapat dipanggil pada subclass. Dapat terlihat variabel “namaAwal” memiliki modifier private. Jadi, pada subclass yaitu class web, variabel “namaAwal” memiliki garis bawah berwarna merah yang berarti syntax tersebut error.­­

 2)INHERITANCE

    Inheritance atau Pewarisan/Penurunan adalah konsep pemrograman dimana sebuah class dapat ‘menurunkan property dan method yang dimilikinya kepada class lain. Konsep inheritancedigunakan untuk memanfaatkan fitur ‘code reuse’ untuk menghindari duplikasi kode program.
Konsep inheritance membuat sebuah struktur atau ‘hierarchy’ class dalam kode program. Class yang akan ‘diturunkan’ bisa disebut sebagai class induk (parent class), super class, atau base class. Sedangkan class yang ‘menerima penurunan’ bisa disebut sebagai class anak (child class), sub class, derived class atauheir class.
Tidak semua property dan method dari class induk akan diturunkan. Property dan method dengan hak akses private, tidak akan diturunkan kepada class anak. Hanya property dan method dengan hak akses protected dan public saja yang bisa diakses dari class anak.
uatu class yang mempunyai class turunan dinamakan parent class atau base class. Sedangkan class turunan itu sendiri seringkali disebut subclass atau child class. Suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class.
Karena suatu subclass dapat mewarisi apa apa yang dipunyai oleh parent class-nya, maka member dari suatu subclass adalah terdiri dari apa-apa yang ia punyai dan juga apa-apa yang ia warisi dari class parent-nya.
Kesimpulannya, boleh dikatakan bahwa suatu subclass adalah tidak lain hanya memperluas (extend) parent class-nya.
Dari hirarki diatas dapat dilihat bahwa, semakin kebawah, class akan semakin bersifat spesifik. Class mamalia memiliki seluruh sifat yang dimiliki oleh binatang, demikian halnya juga macan , kucing, Paus dan Monyet memiliki seluruh sifat yang diturunkan dari class mamalia.
Dengan konsep ini, karakteristik yang dimiliki oleh class binatang cukup didefinisikan didefinisikan dalam class binatang saja.
Class mamalia tidak perlu mendefinisikan ulang apa yang telah dimiliki oleh class binatang, karena sebagai class turunannya, ia akan mendapatkan karakteristik dari class binatang secara otomatis. Demikian juga dengan class macan, kucing, Paus dan monyet, hanya perlu mendefinisikan karakteristik yang spesifik dimiliki oleh class-nya masing-masing.
Dengan memanfaatkan konsep pewarisan ini dalam pemrograman, maka hanya perlu mendefinisikan karakteristik yang lebih umum akan didapatkan dari class darimana ia diturunkan.
Contoh :

 3)POLIMORFISME
  • Polimorfisme berarti kelas-kelas yang berbeda tetapi berasal dari satu orang tua dapat mempunyai metode yang sama tetapi cara pelaksanaannya berbeda-beda. Atau dengan kata lain, suatu fungsi akan memiliki perilaku berbeda jika dilewatkan ke kelas yang berbeda-beda.
  • Polymorphism adalah suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.
Atau Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.
Overloading method adalah suatu teknik dimana didalam suatu class terdapat method dengan nama yang sama namun prilaku yang berbeda.
Aturan penulisannya :
         1. Nama Method Harus Sama
         2. Parameter Harus Berbeda
         3. Tipe Kembalian Boleh Sama Ataupun Berbeda



Kamis, 13 Juni 2019




Halo sahabat Ngolah Syntax! Pada postingan kali ini Ngolah Syntax akan membahas tentang cara untuk membuat aplikasi CRUD (create, read, update, delete) dengan Java dan MySQL. Disini kita akan membuat aplikasi CRUD tentang siswa yang terdapat pada suatu sekolah. Simak dan perhatikan dengan seksama, ya. Agar tidak adanya kesalahan atau error diantara kita. Tanpa panjang lebar lagi, mari kita langsung ngoding ceria.



1. Membuat Database dan Table
Pertama, kita harus membuat databasenya terlebih dahulu. Disini saya membuat database dengan nama java_formsiswa dan tabel bernama tb_siswa.




Membuat database.



Membuat table.



2. Membuat Project Baru di Java Netbeans
Setelah kita membuat database beserta tabelnya, selanjutnya kita harus mebuat project baru pada java Netbeans. Berikut caranya :

buka Netbeans -> File -> New Project -> Java -> Java Aplication -> Next -> Isi nama project - Hilangkan centang pada create main project -> Finish.

3. Membuat Desain Form Aplikasi CRUD
Pada tahap kali ini, kita akan membuat desain tampilan yang akan kita gunakan untuk aplikasi kita nantinya. Buat package view terlebih dahulu. Berikut caranya :

klik kanan pada package view -> pilih New -> pilih JFrame Form -> isi nama sesuai keinginan -> Selesai.

Disini saya memberi nama JFrame Form tersebut dengan nama formSiswa. JFrame Form tersebut berisi 9 label, 3 textfield, 1 datetimechooser, 6 button (termasuk tombol close), 2 combobox, 3 panel, 1 textarea dan 1 table. Jangan lupa juga untuk mengganti variable pada setiap textfield, combobox, table dan lainnya yang terdapat pada jFrame Form tersebut, dan nama variable bebas, yang penting mudah untuk diingat dan dipanggil nantinya. Berikut desain sederhana versi Ngolah Syntax.




4. Membuat Koneksi ke Database
Langkah pertama dalam membuat koneksi yaitu kita harus terlebih dahulu menambahkan library yang bernama JDBC Driver yang sudah tersedia didalam Netbeans. Berikut caranya :

klik kanan pada library -> add library -> pilih MySQL JDBC Driver -> add library -> selesai.

Nah, sekarang kita harus membuat package koneksi terlebih dahulu. Setelah dibuat, lalu buatlah class (klik kanan package koneksi - pilih New - Java Class) yang bernama koneksiDB. Berikut source code dari koneksiDB.java :



5. Membuat fungsi CRUD

A. Menambahkan data ke Database (Create)

Fungsi pertama yang akan kita buat yaitu create atau membahkan data. Tapi kita harus mengkoneksikan terlebih dahulu project kita dengan database. Karena kita sudah membuat class koneksi di package koneksi, jadi kita tinggal panggil saja class tersebut ke dalam source pada jFrame Form. Berikut source code nya :



Selanjutnya adalah membuat fungsi tambah nya. Berikut source code nya :



Sekarang double-click button simpannya, dan isi source code berikut



Dalam source code diatas terdapat fungsi tampilData() dan reset() tapi kita belum membuat fungsi tersebut. Jadi saya sarankan jangan dulu run program tersebut, ikuti dulu tutorialnya, karena pasti akan terjadi error. Jika kamu tetap ingin mencoba menyimpan dengan source code tersebut, maka harap hapus terlebih dahulu atau beri komentar pada fungsi yang belum dibuat.

B. Menampilkan data dari Database (Read)

Rasanya aneh bukan, jika kita sudah berhasil menyimpan data tetapi data tersebut tidak muncul di aplikasi kita. Nah, sekarang kita akan menampilkan data dari database ke dalam aplikasi kita. Berikut source code nya :



C. Menghapus data dari Database (Delete)

Jika terdapat data yang tidak kita inginkan atau tidak berguna, apa yang harus kita lakukan? Ya, tentunya kita hapus saja. Silahkan double-click pada button hapus dan isi source code hapus berikut ini :



D. Mengubah data di Database (Update)

Jika ada data yang salah, dan Anda ingin mengubahnya. Source code berikut jawabannya.



Sistemnya seperti ini, jadi tadi kita telah menambahkan fungsi untuk menampilkan data. Nah jika kita ingin mengubah data yang ada di dalam database, maka kita harus mengambil terlebih dahulu data tersebut dengan mengklik data yang terdapat pada tabel. Nah data-data yang di klik akan dikirimkan ke jFrame dan memungkinkan kita untuk mengubah data tersebut dengan mengklik button. Berikut source code untuk button update.



E. Pencarian data di Database (Search)

Jika dalam database tersebut berisi puluhan ribu data, dan kita hanya mencari satu orang saja. Tidak mungkin bukan, bagi kita untuk melihat satu persatu dari puluhan ribu orang yang terdaftar. Tentunya fungsi search ini membantu kita untuk menemukan data spesifik. Berikut source code nya :




Setelah itu doubleclik pada button cari dan isi dengan fungsi cari diatas (cari();)

Selesai! Akhirnya kita telah membuat aplikasi CRUD berbasis Java. Mohon maaf bila ada kesalahan dalam penulisan source code dan penjelasan yang kurang jelas karena saya juga masih belajar. Jika ada kesalahan dalam penulisan apapun saya ucapkan mohon maaf. Atau bisa tinggalkan komentar dibawah!

Good Luck Sahabat Ngolah Syntax!!





Kamis, 04 Januari 2018

Project Membuat Gaji Karyawan

       Terima kasih telah datang ke web saya , disini saya akan memberikan sebuah projek menghitung gaji karyawan menggunakan bahasa C++ , Silahkan kalian simak atau pahami project yang saya berikan ....

#include <conio.h> //untuk menampilkan getch dan clrscr
#include <stdio.h> //untuk menampilkan printf , scanf , dan gets
#include <iostream> //untuk menampilkan cout dan cin
#include <string.h> //untuk menampilkan strcmp
#include <stdlib.h> //untuk menampilkan atof, atoi , dan pow
#include <iomanip>

using namespace std;

main()
{
system("color cf");//A=Light green,B=light Aqua,C=light Red,D=Light Purple,E=Light Yellow,F=BRIGHT WHITE
char nama [50],dwigunn;
int tunj_trans,tunj_transpor,tunj_ker,tunj_kel,tunj_anak,gaji_pokok,total_gaji,dwi;//variabel int
int tanggal,bulan,tahun,lama_kerja,jumlah_anak,pilihan,Pendidikan,Status,Hari,hutang,gaji_bersih,pajak,keb_hid;//variabel int
tunj_trans=0;
tunj_transpor=0;
tunj_ker=0;
tunj_kel=0;
tunj_anak=0;
cout<<"================================================================================\n";
cout<<"\t\t\t Selamat Datang Di Form Login \n\n";
cout<<"================================================================================\n";
awal:
for (dwi=1; dwi<=3; dwi++)
{
string user = "";
string pass = "";
cout<<"Username : "; cin>>user;
cout<<"Password : ";
dwigunn = _getch();
while (dwigunn !=13){ //13 karakter bisa masuk kaka :)
pass.push_back(dwigunn);//perintah untuk memberikan simbol spesial pada password
cout<<'-'; //ket (-) adalah muncul saat mengetik password
dwigunn=_getch(); 
}
if (user == "dwifebryansyah"&& pass == "11706030"){ //operator logika &&
cout<<"\n\nAnda Berhasil Login. \n"<<endl;
cout<<"================================================================================\n\n";
cout<<"\t\t\t Berikut Data Pembuat Aplikasi Ini \n\n";
cout<<"===============================================================================\n\n";

cout<<"Nama : Dwifebryansyah\n";
cout<<"Lahir : Bogor , 10 februari 2002\n";
cout<<"Alamat : Kp. Nyenang Rt 04/02\n";
cout<<"Jenis kelamin : Laki laki \n";
cout<<"Agama : Islam\n";
cout<<"Lulusan : SMK WIKRAMA BOGOR \n";
cout<<"Pekerjaan : Programmer\n";
cout<<"Bekerja di : Google\n";
cout<<"Selanjutnya ....... \n\n";
goto atas;//goto = untuk mempergikan ke halaman yang akan di tuju
}else{ //jika salah
cout <<"\n\n Maaf username & password yang anda masukan salah.\n\n";//pengeluaran ketika anda salah id atau password
}
}
while (dwi<=3);
cout<<"Upss!!... Anda telah 3x memasukkan username dan password yang salah\n"; //pengeluaran ketika anda salah id atau password
cout<<"Mohon maaf akun anda kami blokir untuk sementara.\n";//pengeluaran ketika anda salah id atau password
cout<<"Silahkan hubungi kami melalui email Cilukba@gmail.com, terima kasih :)\n\n\n";//pengeluaran ketika anda salah id atau password
cout<<"===============Create by : DwiFebryansyah RPL X - 3==================\n\n";//pengeluaran ketika anda salah id atau password
return 0;//mengkembalikan program menjadi 0 lagi
goto awal;// goto = untuk mempergikan ke halaman yang akan di tuju
atas:
system ("color 1C");//1 biru , 2 hijau , 3 aqua , 4 merah , 5 ungu , 6 kuning , 7 putih
cout<<"============================================================================="<<endl;
cout<<"-----------------------------------------------------------------------------"<<endl;
cout<<"KETIK [1] UNTUK ATUR TANGGAL PENGGAJIAN" <<endl;
cout<<"KETIK [2] UNTUK ENTRY DATA" <<endl;
cout<<"KETIK [3] UNTUK LIST DATA" <<endl;
cout<<"KETIK [4] UNTUK EXIT" <<endl;
cout<<"-----------------------------------------------------------------------------"<<endl;
cout<<"=============================================================================\n"<<endl;
cout<<"SAYA KETIK .......... : ";cin>>pilihan;
switch (pilihan)
{
case 1:{ //apabila kamu mengetik 1
cout<<"_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_"<<endl;
cout<<"\t\t\t ATUR TANGGAL PENGGAJIAN"<<endl;
cout<<"_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_\n"<<endl;
cout<<"Tanggal \t: ";cin>>tanggal; //menginput data tanggal
cout<<"Bulan \t\t: ";cin>>bulan; // menginput data bulan
cout<<"Tahun \t\t: ";cin>>tahun; //menginput data tahun
getch();
goto atas;
break;
}
case 2:{
cout<<"_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_"<<endl;
cout<<"\t\t\t  ENTRY DATA "<<endl;
cout<<"_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_"<<endl;
cout<<"Nama \t\t : ";cin>>nama;
cout<<"Pendidikan [1]S3/[2]S2/[3]S1/[4]D3/[5]SMA/SMK/[6]Lainnya ... : ";cin>>Pendidikan;
cout<<"Gaji Pokok : ";cin>>gaji_pokok;
cout<<"Lama Bekerja (tahun)................: ";cin>>lama_kerja;
if (Pendidikan == 1){
 
if(lama_kerja<=1){
tunj_ker=0;
}else if (lama_kerja<=50){
tunj_ker=300000;
}else if (lama_kerja<=100){
tunj_ker=500000;
}else if (lama_kerja>=100){
tunj_ker=700000;
}
 
}else if (Pendidikan == 2){
if(lama_kerja<=1){
tunj_ker=0;
}else if (lama_kerja<=50){
tunj_ker=200000;
}else if (lama_kerja<=100){
tunj_ker=400000;
}else if (lama_kerja>=100){
tunj_ker=600000;
}
 
}else if (Pendidikan == 3){
if(lama_kerja<=1){
tunj_ker=0;
}else if (lama_kerja<=50){
tunj_ker=100000;
}else if (lama_kerja<=100){
tunj_ker=300000;
}else if (lama_kerja>=100){
tunj_ker=500000;
  }
   
  }else if (Pendidikan == 4){
if(lama_kerja<=1){
tunj_ker=0;
}else if (lama_kerja<=50){
tunj_ker=50000;
}else if (lama_kerja<=100){
tunj_ker=200000;
}else if (lama_kerja>=100){
tunj_ker=400000;
}
}else if (Pendidikan == 5){
tunj_ker=0;
}else{
tunj_ker=0;
}
 
  cout<<"Jumlah Masuk Kerja.......................................:";cin>>Hari;
  cout<<"Hutang Karyawan .........................................: ";cin>>hutang;
  cout<<"Keperluan Kebutuhan Hidup (bulan)........................: ";cin>>keb_hid;
  cout<<"Bayar Pajar : ...............................: ";cin>>pajak;
  cout<<"Status Menikah [1]Y/[2]T.................................:";cin>>Status;
 if (Status == 1 )
  {
  cout<<"Jumlah Anak ................................ : ";cin>>jumlah_anak;
  tunj_kel=200000;
if (jumlah_anak == 1){tunj_anak=50000;}
if (jumlah_anak == 2){tunj_anak=100000;}
if (jumlah_anak >= 3){tunj_anak=150000;}
 }
else if (Status == 2 ){
cout<<" ";
}
getch();
goto atas;
break;}
case 3:{
cout<<"_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_"<<endl;
cout<<"\t\t\t  LIST DATA "<<endl;
cout<<"_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_"<<endl;
cout<<"\n\n\t\t\tPT. DWIFEBRYANSYAH SEJAHTERA \n\n"<<endl<<endl;
cout<<"Nama Karyawan.................: "<<nama<<endl;
cout<<"\nGajihan Pada : \n";
cout<<"\t\tTanggal..............: "<<tanggal<<endl;
cout<<"\t\tBulan................: "<<bulan<<endl;
cout<<"\t\tTahun................: "<<tahun<<endl;
cout<<"\n\nGaji Pokok....................: Rp "<<gaji_pokok<<endl;
cout<<"Tunjangan Kerja...............: Rp "<<tunj_ker<<endl;
cout<<"Tunjangan Keluarga............: Rp "<<tunj_kel<<endl;
cout<<"Tunjangan Anak................: Rp "<<tunj_anak<<endl;
tunj_transpor=Hari*2000;
cout<<"Tunjangan Transportasi........: Rp "<<tunj_transpor<<endl;
cout<<"_______________________________________________________________+"<<endl;
total_gaji=gaji_pokok+tunj_ker+tunj_kel+tunj_anak+tunj_transpor;
cout<<"Total Gaji....................: Rp "<<total_gaji<<endl;
gaji_bersih=total_gaji-hutang-pajak-keb_hid;
cout<<"Gaji Bersih ..................: Rp "<<gaji_bersih<<endl;
cout<<"\n\nSyukurlah Alhamdulillah";
cout<<"USAHA TIDAK AKAN MENGKHIANATI HASIL :) GOODLUCK\n";
cout<<"TERUS MENCOBA SOB , TIDAK ADA YANG TIDAK MUNGKIN DIDUNIA INI\n";
cout<<"BERANI LAH MENCOBA , TRY TRY TRY TRY TRY ALWAYS TRY :)\n\n\n";
getch();
goto atas;
break;}
 
case 4:
{
cout<<"_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_"<<endl;
cout<<"\t\t\t\t EXIT "<<endl;
cout<<"_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_"<<endl;
break;
}
}
getch();
}


"SEMOGA BERMANFAAT DAN KALIAN BISA MEMAHAMINYA DENGAN BAIK"