Apa itu SIP ?

SIP adalah singkatan dari Session Initiation Protocol merupakan protocol pensinyalan  pada layer aplikasi yang berfungsi untuk membangun, memodifikasi, dan mengakhiri suatu sesi multimedia yang melibatkan satu user atau lebih. Sesi ini adalah pertukaran data antar user yang meliputi suara,video,dan text.

SIP tidak menyediakan layanan secara langsung tapi menyediakan layanan yang dapat digunakan oleh protokol aplikasi lainnya untuk memberikan layanan yang lebih lengkap bagi pengguna, misalnya dengan RTP (Real Time Transport Protocol) untuk transfer data secara realtime, dengan SDP (Session Description Protocol) untuk mendiskripsikan sesi multimedia , dengan MEGACO (Media Gateway Control Protocol) untuk komunikasi dengan PSTN (Public Switch Telephone Network). Dengan demikian, fungsi dan operasi dasar SIP tidak tergantung pada protocol-protocol tersebut. SIP juga tidak tergantung pada protokol layer transport yang digunakan.

Pembangunan suatu komunikasi multimedia dengan SIP dilakukan melalui beberapa tahap :

  1. User location : menentukan lokasi pengguna yang akan berkomunikasi. 
  2. User availability : menentukan tingkat keinginan pihak yang dipanggil untuk terlibat dalam komunikasi. 
  3. User capability : menentukan media maupun parameter yang berhubungan dengan media yang akan digunakan untuk komunikasi. 
  4. Session setup : “ringing”, pembentukan hubungan antara pihak pemanggil dan pihak yang dipanggil. 
  5. Session management : meliputi transfer, modifikasi, dan pemutusan sesi.

Komunikasi dengan SIP 

Komunikasi pada SIP dilakukan dengan mengirimkan message yang berbasis HTTP.

Setiap pengguna mempunyai alamat yang dinyatakan dengan SIP-URI (Uniform Resource Identification).  Contoh SIP URI : sip: dede@tkj.com

Selain itu, alamat juga dapat dituliskan dalam tel-URL yang kemudian dikonversikan
menja di SIP -URI dengan parameter‘user’ diisi ‘phone’.
Contoh : tel: +62-21-2567011 ekivalen dengan sip: +62-21-2567011@tkj.com ; user=phone.

 Isi pesan di dalam SIP didefinisikan dalam 2 format (RFC 3261), seperti :
 1. Request (dikirim dari client to server), berisi operasi yang diminta oleh client.
 2. Response (dikirim dari server ke client), berisi informasi tentang permintaan status dari client.
 Ada 6 tipe utama pesan permintaan seperti di bawah ini :

  1.  INVITE : mengindikasikan jika user atau layanan sedang diundang untuk bergabung dengan sesi.
  2.  ACK : mengkonfirmasi jika client sudah menerima respon terakhir untuk permintaan INVITE, dan hanya digunakan di permintaan REQUEST.
  3.  OPTION : digunakan untuk mempertanyakan server tentang kemampuannya
  4.  BYE : dikirim oleh client user agent untuk mengindikasikan server jika percakapan akan segera dimatikan.
  5.  CANCEL : untuk membatalkan permintaan yang sedang menunggu keputusan
  6.  REGISTER : digunakan oleh client untuk mendaftarkan informasi kontak Respon pesan berisi kode status dan informasi tentang kondisi permintaan.

  Dan kode ini dibagi menjadi 6 macam:

  1.  1xx : Provisional, permintaan sudah diterima dan sedang diproses
  2.  2xx : Success, permintaan sudah diterima, dimengerti dan disetujui.
  3.  3xx : Redirection, butuh tindakan lebih lanjut untuk memproses permintaan
  4.  4xx : Client Error, permintaan salah syntax dan tidak bisa diidentifikasi jadi server tidak bisa memprosesnya.
  5.  5xx : Server Error, server gagal untuk memproses permintaan.
  6.  6xx : Global Failure, permintaan sama sekali tidak bisa diproses di server manapun

Arsitektur  SIP 

Arsitektur dari SIP terdiri dari dua komponen yaitu user agent dan servers.
User agent merupakan end point dari sistem dan memuat dua sub sistem yaitu user agent client (UAC) yang membangkitkan request, dan user agent server (UAS) yang merespon request.

SIP server adalah kesatuan fungsi logic, dimana tidak perlu memisahkan alat secara fisik. Fungsi dari empat server tersebut yaitu:

  1. Proxy Server : merupakan host jaringan yang berperan sebagai perantara yang bertujuan untuk meminta request atas nama client yang lain. Proxy harus bertindak sebagai server dan client, dia harus mengarahkan SIP request pada user agent server, dan mengarahkan SIP respons pada user agent client . Proxy server juga berfungsi untuk melakukan routing, memastikan request disampaikan pada yang berhak menerima, dan juga membuat kebijakan seperti menyakinkan bahwa pemakai tertentu diijinkan untuk melakukan panggilan.
  2. Redirect Server: merupakan kesatuan logika yang mengarahkan satu klien pada perangkat pengganti dari Uniform Resorce indicators (URIs) untuk menyelesaikan tugas request.
  3. Registrar Server : menerima dan memproses pesan pendaftaran yang mengijinkan lokasi dari suatu endpoint dapat diketahui keberadaannya. Registrar Server ini kerjanya berhubungan dengan Location Server.
  4. Location Server : menyediakan service untuk database abstrak yang berfungsi mentranslasikan alamat dengan kata / keterangan yang ada pada domain jaringan.

Protokol SIP didukung oleh beberapa protokol, diantara lain:

  • IETF Session Description Protokol (SDP), merupakan protokol yang mendeskripsikan media dalam suatu komunikasi. Tujuan protokol SDP adalah untuk memberikan informasi aliran media dalam satu sesi komunikasi agar penerima yang menerima informasi tersebut dapat berkomunikasi.
  • IETF Session Annoucement Protocol (SAP), merupakan suatu protocol yang setiap periode waktu tertentu mengumumkan parameter dari suatu sesi konferensi.
  • IETF Real-Time transport protocol (RTP), menyediakan transfer media secara real time.
  • Real-Time Control Protokol (RTCP), mengatur sesi secara periodik mentrasmit paket yang berisi feedback atas kualitas dari distribusi data.
  • ITU_T Codec merupakan algoritma pengkodean yang direkomendasikan, seperti G.723.1, G711, G.728, dan G.729 untuk audio, atau H.261 untuk video.

Aplikasi dan Kelebihan SIP

Aplikasi

  • Voice over Internet Protocol (VoIP)
  • Konferensi multimedia
  • Text – messaging
  • Event – notification  -> voicemail notification, callback notification
  • Unified Messaging – > voicemail2email

Kelebihan SIP

  1. General – purpose. SIP dapat diintegrasikan dengan protokol stadar IETF lainnya untuk membuat  suatu aplikasi yang berbasis SIP.
  2. Arsitektur yang terdistribusi dan scalable  . Proxy – server,  Redirect – server,  Registrar – server, dan Location – server.
  3. Sederhana. Pengiriman message berbasis HTTP (text-based), bukan binary – based. Hal ini menyebabkan SIP mudah diimplementasikan.
  4. Mobility. Seorang pengguna dapat menerima message/call yang ditujukan kepadanya. meskipun berpindah dari satu lokasike lokasi lainnya. Proxy – server akan meneruskan call ke lokasi pengguna pada saat ini.  Device yang digunakan dapat berupa PC, baik di rumah maupun di kantor,  wireless phone, IP – phone, ataupun telepon biasa.
  5. Layanan dapat dibuat dengan Call Processing Language (CPL) dan Common Gateway Interface (CGI), antara lain :
    • call waiting, call forwarding, call blocking (basic feature)
    • call – forking (melakukan call kepada beberapa endpoint)
    • Instant – messaging
    • Find – me / follow-me

Tahapan Implementasi

Biasanya ada 3 tahapan implementasi SIP sebagai berikut :

  1. Menghubungkan SIP Proxy ke existing PBX
  2. Migrasi User dan terminal ke SIP Proxy
  3. Migrasi koneksi ke PSTN dari existing PBX ke SIP

Tahap 1: Tahap pertama adalah menghubungkan SIP proxy dengan PBX system existing sebagai gateway ke PSTN. Untuk menghubungkan dari IP Network ke PSTN, SIP proxy akan me-routing-kan seluruh panggilan dari panggilan VoIP ke PSTN. Link koneksi bisa menggunakan PRI ISDN maupun T1. Pertama yang harus dilakukan adalah setup SIP proxy (SIP call manager), setelah set-up berjalan dengan baik, selanjutnya tinggal menghubungkan ke PBX existing dengan link ISDN, E1 atau T1.

Tahap 2 : Tahap selanjutnya adalah migrasi existing user dan services ke SIP. Migrasi semua handset ke SIP baik menggunakan gateway maupun mengganti dengan handset yang native SIP. Pendekatan dengan menggabungkan keduanya biasanya menjadi pilihan yang baik. Selanjutnya adalah set-up SIP application server untuk mengakomodasi fitur-fitur yang dibutuhkan user seperti voice mail, multi-party conferencing.

  1. General – purpose. SIP dapat diintegrasikan dengan protokol stadar IETF lainnya untuk membuat  suatu aplikasi yang berbasis SIP.
  2. Arsitektur yang terdistribusi dan scalable  . Proxy – server,  Redirect – server,  Registrar – server, dan Location – server.
  3. Sederhana. Pengiriman message berbasis HTTP (text-based), bukan binary – based. Hal ini menyebabkan SIP mudah diimplementasikan.
  4. Mobility. Seorang pengguna dapat menerima message/call yang ditujukan kepadanya. meskipun berpindah dari satu lokasike lokasi lainnya. Proxy – server akan meneruskan call ke lokasi pengguna pada saat ini.  Device yang digunakan dapat berupa PC, baik di rumah maupun di kantor,  wireless phone, IP – phone, ataupun telepon biasa.
  5. Layanan dapat dibuat dengan Call Processing Language (CPL) dan Common Gateway Interface (CGI), antara lain :
    • call waiting, call forwarding, call blocking (basic feature)
    • call – forking (melakukan call kepada beberapa endpoint)
    • Instant – messaging
    • Find – me / follow-me

Tahapan Implementasi

Biasanya ada 3 tahapan implementasi SIP sebagai berikut :

  1. Menghubungkan SIP Proxy ke existing PBX
  2. Migrasi User dan terminal ke SIP Proxy
  3. Migrasi koneksi ke PSTN dari existing PBX ke SIP

Tahap 1: Tahap pertama adalah menghubungkan SIP proxy dengan PBX system existing sebagai gateway ke PSTN. Untuk menghubungkan dari IP Network ke PSTN, SIP proxy akan me-routing-kan seluruh panggilan dari panggilan VoIP ke PSTN. Link koneksi bisa menggunakan PRI ISDN maupun T1. Pertama yang harus dilakukan adalah setup SIP proxy (SIP call manager), setelah set-up berjalan dengan baik, selanjutnya tinggal menghubungkan ke PBX existing dengan link ISDN, E1 atau T1.

Tahap 2 : Tahap selanjutnya adalah migrasi existing user dan services ke SIP. Migrasi semua handset ke SIP baik menggunakan gateway maupun mengganti dengan handset yang native SIP. Pendekatan dengan menggabungkan keduanya biasanya menjadi pilihan yang baik. Selanjutnya adalah set-up SIP application server untuk mengakomodasi fitur-fitur yang dibutuhkan user seperti voice mail, multi-party conferencing, IVR, fine me follow me dan masih banyak lagi fitur yang disupport SIP.

Tahap 3 : Tahap 3 adalah melakukan routing panggilan ke luar melalui koneksi internet.Banyak  operator memulai menjual SIP based dengan menawarkan layanan long distance dengan harga yang lebih murah. Yang perlu diantisipasi adalah nature network  internet yang unpredictable (seperti jitter dan error rate) dan tentu saja security. Sebagai tahap awal SIP dapat digunakan sebagai alternatif untuk melakukan panggilan ketika di luar kantor atau teleworkers.
Itulah sedikit penjelasan mengenai pengertian SIP (session initial protocol) di dalam VoIP. Mudah-mudahan bisa memberikan manfa’at.

Materi Basis Data XI RPL

A. Deskripsi
Basis data adalah merupakan kumpulan data yang saling berhubungan yang disimpan secara bersama, sedemikian rupa dan tanpa pengulangan (redundancy) yang tidak perlu, untuk memenuhi berbagai kebutuhan. Ruang lingkup mata pelajaran inimenitik-beratkan pada strategi perancangan dan pembuatan sistem basis data. Topik materi yang dipelajarai dalam mata pelajaran ini antara lain adalah: struktur hirarki basis data, ketergantungan fungsional, entity relationship diagram (ERD), teknik normalisasi data, standar query language (SQL) dan aplikasi
sistem manajemen basis data atau database managemen sistem (DBMS) Topik hirarki basis data menjelaskan tentang konsep basis data, arsitektur basis data, model struktur hirarki basis data dan struktur model jaringan basis data. Konsep basis data mempelajari tentang definisi basis data, tujuan dan manfaat basis data, pengertian sistem manajemen basis data dan operasi dasar dalam manajemen basis data. Topik ketergantungan fungsional menguraikan materi tentang ragam relasi
basis data, batasan partisipasi (constraint) dan dependency. Relasi basis data meliputi relasi one to one, relasi one to many, relasi many to many dan relasi ternary. Batasan partisipasi meliputi partisipasi total dan partisipasi parsial. Topik entity relationship diagrammenjelaskan tentang perancangan diskripsi sistem basis data,identifikasi entitas, identifikasi atribute dan relasi, membuat ER diagramserta memetakan ER ke tabel relasional. Topik Standar query language (SQL) menjelaskan tentang pemakaian bahasa query untuki mengakses data yang meliputi data definition language (DD) dan data manipulation language (DML).

B. Uraian materi.
1) Definisi Basis Data
Secara umum untuk menjelaskan tentang pengertian basis data dapat ditinjau dari dua sisi,pengertian secara kharfiah dan pengertian secara istilah. Menurut pengertian secara kharfiah, basis data terdiri dari dua kata yaitu basis dan data. Basis dapat diartikan sebagai suatu markas atau gudang, tempat bersarang atau tempat berkumpul.Data dapat diartikan merupakan representasi dari fakta dunia yang mewakili suatu obyek (manusia, barang, peristiwa, keadaan
dsb) yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya.Adapun menurut pengertian secara istilah, terdapat beberapa definisi yaitu sebagai berikut :
– Himpunan kelompok data (arsip) yang saling berhubungan yangdiorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah
– Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundancy) yang tidak perlu, untuk memenuhi berbagai kebutuhan
– Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan tertentu.
– Kumpulan data, yang dapat digambarkan sebagai aktifitas dari satu atau lebih organisasi yang berelasi.

2) Komponen Basis data.
Basis data adalah merupakan suatu sistem yang dibangun oleh beberapa komponen diantaranya ada enam komponen pokok antara lain ialah:

  • Perangkat keras (hardware) dalam sistem komputer. Dalam sistem pengolahan basis data digital perangkat utama sebagai pengolah data dalah komputer.
  • Perangkat Lunak Aplikasi (software) lain yang mendukung dan bersifat opsional. Perangkat lunak digunakan untuk mendukung proses pengelolaan basis data. Misal: bahasa pemrograman C, basic pascal.
  • Sistem Operasi (operating system). Sistem operasi merupakan perangkat lunak yang digunakan untuk mengelola aplikasi basis data dan penggunaan sumberdaya komputer.
  • Basis data data lain yang mempunyai keterkaitan dan hubungan dengan basis data itu sendiri. Berisi atau memiliki objek-objek basis data seperti file, table, indeks . Mempunyai disfinisi struktur baik untuk basis data maupun objek-objek secara detail.
  • Sistem Pengelola Basis Data Database Management System atau database managemen system (DBMS). Merupakan program aplikasi untuk pengelolaan basis data, seperti Microsoft acces, oracle dan lian-lain
  • Pemakai (user), yaitu pengguna yang terlibat dalam pengelolaan basis dan penggunaan basis data.

3) Sistem manajemen basis Data
Sistem manajemen basis data adalah merupakan sebuah tatanan (keterpaduan) yang terdiri atas sejumlah komponen-komponen fungsional (komputer) yang saling berhubungan secara bersama-sama, bertujuan untuk memenuhi suatu proses atau pekerjaaan tertentu. Sistem ini merupakan
gabungan antara basis data dan kumpulan program atau perangkat lunak DBMS (database management system). DBMS adalah program aplikasi yang dibuat dan bekerja dalam satu system.
DBMS didesain untuk membantu dalam hal pemeliharaan dan utilitas kumpulan data dalam jumlah besar. DBMS dapat menjadi alternatif penggunaan secara khusus untuk aplikasi, misalnya penyimpanan data dalam field dan menulis kode aplikasi yang spesifik untuk pengaturannya. Kumpulan file (table) yang saling berhubungan dalam di sebuah komputer dan sekumpulan program yang memungkinkan beberapa pemakai dan atau program lain untuk mengakses dan
memanipulasi file-file atau table-tabel tersebut.

Gambar 1. Konsep system basis data dan DBMS

4) Tujuan dan Manfaat Penggunaan basis data
Kesuksesan suatu organisasi bergantung pada kemampuannyamenangkap data secara akurat dan tepat waktu. Hal tersebut berkaitan dengan operasi dan pengaturan data secara efektif, maupun penggunaan data untuk keperluan analisis untuk kebutuhan pendukung keputusan. Kemampuan untuk mengatur atau mengolah sejumlah data, dan kecepatan untuk mencari informasi yang relevan, adalah aset yang sangat penting bagi suatu organisasi. Untuk mendapatkan himpunan data yang besar dan kompleks, user harus memiliki alat bantu (tools) yang akan menyederhanakan tugas manajemen data dan mengekstrak informasi yang berguna secara tepat waktu.Beberapa tujuan penggunaan basis data adalah sebagai berikut :

  • Kecepatan dan Kemudahan (Speed) , melalui basis data diharapkan
    pengguna dapat melakukan penyimpanan, perubahan dan menampilkan
    kembali dengan cepat dan mudah.
  • Efisiensi Ruang Penyimpanan (Space). Penggunaan basis data mampu
    mengurangi pengulangan atau redundansi data. Hal ini dapat dilakukan
    dengan menerapkan sejumlah pengkodean atau dengan membuat relasirelasi (dalam bentuk file) antara kelompok data yang saling berhubungan.
  • Keakuratan (Accuracy), melalui basis data data keakuratan data lebih
    terjaga dengan menerapkan aturan dan batasan tertentu (constraint), tipe
    data, domain data dan keunikan data
  • Ketersediaan (Availability). Dengan basis data data yang sudah tidak
    dipakai dapat dipisahkan dari sistem database yang sedang aktif. Hal ini
    dapat dilakukan dengan cara penghapusan atau memindahkannya ke
    media backup untuk menghemat ruang penyimpanan. Selain itu dapat
    memanfaatkan teknologi jaringan komputer agar data yang berada di suatu
    lokasi atau cabang daat juga diakses oleh lokasi atau cabang lainnya.
  • Kelengkapan (Completeness). Agar data yang dikelola senantiasa lengkap
    baik relatif terhadap kebutuhan pemakai maupun terhadap waktu. Hal ini
    dapat dilakukan melaluipenambahan record-record data, perubahan
    struktur basis data, menambah field pada tabel atau menambah tabel baru.
  • Keamanan (Security). Walaupun tidak semua sistem basis data
    menerapkannya, keamanan dalam penggunaan basis data diperlakukan
    pada sistem yang besar dan serius. Dengan penerapan ini, setiap
    pengguna dibedakan hak aksesnya; yakni ditentukan obyek-obyek mana
    saja yang bisa diakses dan proses apa saja yang bisa dia dilakukan.
  • Kebersamaan (Sharability). Agar data yang dikelola oleh sistem
    mendukung lingkungan multiuser (banyak pemakai) dengan menjaga /
    menghindari munculnya problem baru seperti inkonsistensi data (karena
    terjadi perubahan data yang dilakukan oleh beberapa user dalam waktu yang bersamaan) atau kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data).

Cara Membuat Jaringan WAN Dengan Cisco Packet Tracer

Cisco Packet Tracer merupakan software simulasi jaringan, dengan adanya software ini kita tidak perlu mengeluarkan banyak biaya untuk membeli device jaringan dalam mempelajari dan mendalami jaringan komputer.

jaringan wan cisco packet tracer

Dengan software ini kita dapat membuat dan mendesain berbagai jenis jaringan komputer, salah satunya adalah jaringan WAN.

Jaringan area luas (bahasa Inggris: Wide Area Network; WAN ) merupakan jaringan komputer yang mencakup area yang besar sebagai contoh yaitu jaringan komputer antar wilayah, kota atau bahkan negara, atau dapat didefinisikan juga sebagai jaringan komputer yang membutuhkan router dan saluran komunikasi publik. -Wikipedia

Postingan kali ini memaparkan bagaimana membangun jaringan WAN dengan software Cisco Packet Tracer. Packet Tracer yang digunakan adalah versi 7.3.0.
Pastikan kamu sudah menginstall Cisco Packet Tracernya-nya. Jumlah device yang digunakan yaitu: 12 buah PC; 4 buah switch dan 2 buah router.

1. Buka Cisco Packet Tracer.

2. Kemudian buat desain jaringan seperti berikut.

3. Hubungkan device-device tersebut dengan kabel jaringan. Kabel Straight-Through digunakan untuk menghubungkan device yang berbeda sedangkan kabel cross-over digunakan untuk menghubungkan device yang sama.

jaringan wan cisco packet tracer

4. Masukkan IP address tiap PC, klik icon PC > Desktop > IP Configuration.

Setting IP address tiap PC seperti gambar berikut.

5. Setelah IP address telah tersetting, pastikan tiap PC dapat berkomunikasi dengan PC lain. Caranya dengan menekan tombol P pada keyboard atau klik icon kemudian letakkan di dua PC yang berada pada satu jaringan kecil/satu gateway. Bila berhasil terhubung, akan muncul status pada pojok kiri bawah layar seperti berikut.

jaringan wan cisco packet tracer

6. Agar PC pada gateway 192.168.1.1 dapat berhubungan dengan PC yang berada pada gateway 192.168.20.1 diperlukan sebuah router untuk menghubungkan dua switch yang “memegang” PC yang ada pada gateway tersebut. Router harus disetting terlebih dahulu agar dapat menghubungkan switch tersebut. Berikut settingan routernya.

Kemudian beralih ke menu RIP, masukkan kedua gateway tadi (192.168.1.1 dan 192.168.20.1) satu persatu dengan meng-klik Add sehingga settingannya menjadi seperti berikut.

Bila settingan berhasil, kita dapat mengirim paket data dari PC pada gateway 192.168.1.1 ke PC pada gateway 192.168.20.1.

jaringan wan cisco packet tracer

7. Lakukan hal diatas pada router (Router1) satunya.

8. Setelah kedua router telah tersetting dan berjalan dengan baik, selanjutnya hubungkan kedua router tersebut sehingga semua PC yang ada dapat berkomunikasi. Hubungkan router dengan kabel cross-over.

Router diatas hanya memiliki 2 port yaitu FastEthernet0/0 dan FastEthernet0/1. Untuk itu kita perlu menambah portnya. Caranya matikan router terlebih dahulu, klik icon router yang ada di jaringan > Physical > klik lampu hijau pada gambar router. Lihat gambar berikut.

Router on

Router off

Kemudian tekan, tahan dan geser NM-4E ke gambar port router, bila sudah nyalakan kembali routernya. Lihat gambar berikut.

Router with modules NM-4E off

Router with modules NM-4E on
Interface pada router bertambah.

Lakukan hal yang sama pada router satunya, port yang digunakan untuk menghubungkan router dengan router yaitu port Ethernet1/0.

9. Setting kedua router (Router0 dan Router1) seperti berikut (IP address dapat diubah sesuai keinginan).

IP Address Router0

IP Address Router1

Kemudian kenalkan IP address dari masing-masing router ke router yang lain di menu RIP.

jaringan wan cisco packet tracer
jaringan wan cisco packet tracer

10. Selesai! bila semua settingan benar

jaringan wan cisco packet tracer

Hasil Desain

Belajar Perintah Dasar CRUD Database Menggunakan MYSQL di CMD (Command Prompt)

Di postingan kali ini kita akan belajar tutorial CRUD (Create Read Update dan Delete) dengan MYSQL pada command prompt. Melakukan perintah CRUD yakni membuat database, membaca database, memperbarui/menambah database sampai menghapus databse pada php MYSQL di consol CMD (command prompt).

Perintah CRUD (Create, Read, Update dan Delete) Database MYSQL di CMD

Pertama, buka jalankan xampp dan silahkan jalankan database mysql melalui CMD. Jika belum tau caranya. Nah jika sudah, kita langsung saja ke turorialnya sebagai berikut.

1. Jalankan CMD (Klik kANAN run administrator)

Jalankan dulu CMDnya dengan menggunakan klik kanan lalu klik run administrator, lalu masukkan perintah “cd c:\xampp\mysql\bin” (tanpa tanda petik).

Setelah itu masukkan perintah “mysql -u root” tanpa tanda petik.

2. MEMBUAT DATABASE
create database nama_database;

Buatlah sebuah database dengan nama belajarbasisdata.

Contoh :

create database belajarbasisdata;

3. TAMPILKAN SELURUH DATABASE

show databases;
Menampilkan semua database yang ada di komputer.

4. MENGGUNAKAN DATABASE

use nama_database;

untuk memilih database yang akan kita gunakan. Pada sudy kasus ini saya akan gunakan database phpdasar yang saya bikin, maka syntaknya sebagai berikut.
Contoh :

use belajarbasisdata;

5. MEMBUAT TABEL

create table nama_tabel();

Nah, sekarang kita memasuki tahap CRUD  database mysql di cmd, yakni tahap pertama ialah Perintah untuk membuat tabel didalam database. Sebagai contoh, saya membuat tabel mahasiswa dengan atribut id, nama, NIS, jurusan sebagai birikut.
Contoh :

create table siswa(
id int primary key auto_increment,
nama varchar(100),
NIS char (11),
jurusan varchar(100)
);

6. MENAMPILKAN TABEL

show tables;
Peintah untuk menampilkan tabel yang tersedia didalam database. Karena saya telah telah membuat tabel dengan nama “siswa”, maka tampil sebagai berikut.

7. MENAMPILKAN ISI/ATRIBUT PADA TABEL

describe nama_tabel; atau desc nama_table;

Merupakan perintah untuk menampilkan isi dari tabel yang telah dibuat. Karena saya telah mengisi atribut (id, nama, NIK dan jurusan) pada langkah nomor 4, maka tampil sebagai berikut.
Contoh :

desc siswa;

8. MENAMBAH DATA PADA TABEL

insert into nama_tabel values (”, ‘Jonathan’, ‘12345’, ‘Rekayasa Perangkat Lunak’);

Perintah menambahkan data pada tabel database, silahkan anda tambahkan 1 atau 2 data pada tabel. Pada contoh kali ini saya akan berikan satu data pada tabel sebagai berikut.
Contoh :

insert into siswa values ('', 'Jonathan', '12345', 'Rekayasa Perangkat Lunak');

9. MENAMPILKAN (Semua) DATA PADA TABLE

select * from nama_tabel;
Perintah untuk menampilkan (seluruh) isi data yang ada pada tabel.
Contoh :

select *from siswa;

10. MENAMPILKAN DATA TABLE (Nama)

select nama from nama_tabel;

Perintah database untuk menampilkan nama saja.
Contoh :

select nama from siswa;

11. MENAMPILKAN DATA TABLE (Nama dan Jurusan) :

select nama,jurusan from nama_tabel;
Perintah untuk memfilter lebih dari satu. Misalnya jika ingin menampilkan nama dan jurusan, maka pisahkan dengan koma (,).
Contoh :

select nama,jurusan from siswa;

12. UPDATE DATA TABLE:

update nama_tabel set jurusan = ‘Multimedia’ where id = ‘1’;
Perintah untuk update data pada tabel. Sebagai contoh saya ingin mengubah jurusan = ‘Multimedia’ pada data dengan nomor id= ‘1’, sebagai berikut.

update siswa set jurusan = 'Multimedia' where id = '1';

13. HAPUS DATA TABLE:

delete from nama_tabel where id = ‘1’;
Perintah delete data pada tabel database mysql di cmd bisa menggunakan keyword id, nrp atau jurusan (yang unik). Sebagai contoh saya menggunakan keyword id =’1′ untuk mencari data mahasiswa yang akan dihapus.
Contoh :

delete from siswa where id = '1';

14. MENGHAPUS TABLE:

drop table nama_tabel;

Perintah untuk menghapus tabel.
Contoh :

drop table siswa;

15. MENGHAPUS DATABASE:

drop database nama_database;
Perintah untuk menghapus database.
Contoh :

drop database belajarbasisdata;

Silahkan di pelajari materinya, dan di pahami dengan baik. Terima kasih

Komunikasi Pada Jaringan Komputer dan Telepon

Komunikasi Pada Jaringan Komputer 

Jaringan komputer adalah jaringan telekomunikasi yang memungkinkan antar komputer untuk saling bertukar data. Tujuan dari jaringan komputer adalah agar dapat mencapai tujuannya, setiap bagian dari jaringan komputer dapat meminta dan memberikan layanan (service). Pihak yang meminta/menerima layanan disebut klien  dan yang memberikan/mengirim layanan disebut server.
Desain ini disebut dengan sistem client-server, dan digunakan pada hampir seluruh aplikasi jaringan komputer.

Cara Kerja

  • Sinyal listrik maupun sinyal dalam bentuk gelombang elektromagnetik pada suatu jaringan komputer merambat / memancar dengan prinsip kerja jaringan komputer.
  • Agar suatu jaringan dapat saling bertukar informasi data, diperlakukan suatu alat yang disebut modem (modulator demodulator) yang berfungsi untuk mengubah sinyal analog menjadi sinyal digital, maupun sebaliknya.

Ada 4 komponen utama pada komunikasi jaringan komputer

  1. Sender : suatu proses dalam mana seseorang atau beberapa orang, kelompok, organisasi, dan masyarakat menciptakan, dan menggunakan informasi. 
  2.  Protokol : sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer. 
  3. Media transmisi : media yang menghubungkan antara pengirim dan penerima informasi (data), karena jarak yang jauh, maka data terlebih dahulu diubah menjadi kode/isyarat, dan isyarat inilah yang akan dimanipulasi dengan berbagai macam cara untuk diubah kembali menjadi data 
  4. Receiver : Receiver (penerima pesan) adalah pihak yang menjadi sasaran pesan yang dikirimkan oleh sumber (komunikator). Pertama tama sender mengirimkan sinyal informasi menuju receiver melalui protokol encode yang mengubah sinyal digital menjadi sinyal analog kemudian sinyal melalui media transmisi dan melalui protokol kedua di decode kembali menjadi sinyal digital sebelum masuk ke receiver dalam hal ini protokol dapat di istilahkan seperti penerjemah informasi data. 

Komunikasi Pada Jaringan Telepon 

 A.  Jaringan Telepon Kabel 

Telepon kabel menggunakan sistem wireline. sehingga membutuhkan kabel supaya dapat berfungsi .

Cara kerja telepon kabel :

  • Suara dari pengirim diterima oleh alat yang disebut microphone 
  • Microphone mengubah gelombang suara menjadi sinyal listrik kemudian disalurkan oleh perangkat telepon 
  • Sinyal tersebut disalurkan melalui kabel ke pusat telekomomunikasi 
  • Dari pusat telekomunikasi, sinyal tersebut diteruskan kepada penerima 
  • Setelah sampai ke penerima, maka sinyal tersebut diubah lagi menjadi gelombang suara oleh alat yang disebut speaker. 

 B. Jaringan Telepon Seluler 

Telepon seluler menggunakan sistem wireless. pengirim dan penerima harus tetap tercakup BTS (Base Transceiver Station ). BTS adalah peralatan yang memfasilitasi komunikasi secara wireless antara pengguna telepon seluler.

Cara kerja telepon seluler :

Cara kerja telepon seluler :

  • Suara dari pengirim diterima oleh alat yang disebut microphone 
  • Microphone mengubah gelombang suara menjadi sinyal listrik dan kemudian dipancarkan oleh pnsel ke bts terdekat 
  • Sinyal tersebut diterima oleh bts dan sinyal tersebut diteruskan ke pusat telekomunikasi 
  • Dari pusat telekomunikasi sinyal diteruskan kepada bts terdekat kemudian diteruskan ke si penerima.
  • Setelah sampai kepada penerima , maka sinyal tersebut diubah lagi menjadi gelombang suara oleh alat yang disebut speaker.

Membuat Desain Jaringan Berbasis Luas (Wan)

Cara Membuat Jaringan WAN Dengan Cisco Packet Tracer

Pembuatan desain tersebut bisa dilakukan secara langsung ataupun melalui simulator jaringan.

Desain Jaringan Berbasis Luas ( WAN )

Sebelum belajar tentang desain jaringan berbasis luas, langkah pertama yang harus kita pahami terlebih dahulu adalah tentang pemahaman konsep jaringan secara umum.

Pengenalan Jaringan Berbasis Luas (WAN)

Jaringan / network adalah suatu mekanisme yang memungkinkan berbagai komputer terhubung dan para penggunanya dapat berkomunikasi dan share resources satu sama. Informasi dan data bergerak melalui media transmisi jaringan sehingga memungkinkan pengguna jaringan komputer untuk saling bertukar dokumen dan data, mencetak pada printer yang sama dan bersama-sama menggunakan hardware software yang terhubung dengan jaringan.

Saat ini kita mengenal beberapa jenis jaringan pada umumnya yatu jaringan data dan internet.Jaringan data adalah sebuah jaringan yang memungkinkan komputer-komputer yang ada saling bertukar data. Contoh yang paling sederhana adalah dari jaringan data adalah dua buah PC terhubung melalui sebuah kabel. Akan tetapi rata-rata jaringan data menghubungkan banyak alat.

Jaringan internet adalah sekumpulan jaringan-jaringan yang saling terhubung oleh alat jaringan dan akan menjadikan jaringan-jaringan tersebut sebagai satu jaringan yang besar. Public Internet adalah contoh yang paling mudah dikenali sebagai jaringan tunggal yang menghubungkan jutaan komputer.

Jenis – Jenis Arsitektur Jaringan Data Komputer

Arsitektur Jaringan Data Komputer di bagi menjadi 3 jenis arsitektur jaringan data :

membuat desain jaringan berbasis luas ( WAN )

LAN (Local Area Network)

Jaringan ini beroperasi dalam area yang jaraknya terbatas(kurang dari 10 kilometer).Biasanya jaringan ini bersifat tertutup karena hanya digunakan oleh sekumpulan orang dan memberikan akses bandwith yang tinggi dalam lingkup kelompok yang menggunakannya.Alat yang biasa digunakan adalah Switch dan Hub.

WAN (Wide Area Network)

Jaringan ini beroperasi dalam area yang lebih luas dari LAN.Biasanya jaringan WAN berfungsi untuk menghubungkan LAN yang berada terpisah secara geografis. Biasanya digunakan juga untuk fulltime/partime connectivity antar daerah dan juga untuk public services seperti email. Alat yang biasa digunakan di jaringan ini adalah Router.

MAN (Metropolitan Area Network )

Jaringan ini beroperasi dalam area yang lebih luas secara geografis.Biasanya menghubungkan jaringan WAN yang terpisah sehingga memungkinkan untuk terjadinya pertukaran informasi dan sharing data dan devices. Alat yang digunakan adala kumpulan dari Router dan Gateway.Jaringan yang pertama kali dikenalkan adalah LAN. WAN diperkenalkan sebagai jaringan yang menghubungkan LAN-LAN yang ada sehingga user juga dapat membagi informasi dan mengakses alat-alat yang ada. Di sini yang akan kita bahas lebih lanjut adalah mengenai WAN.

Saat kita akan membahas lebih dalam mengenai jaringan ada 2 konsep yang penting yaitu:
1.Protocol
Protocol banyak digunakan untuk proses komunikasi diantara entiti pada sistem yang berbeda-beda. Istilah entiti merujuk pada program-program aplikasi user sedangkan sistem lebih pada komputer dan terminal.
Elemen-elemen kunci untuk sebuah protocol adalah sebagai berikut :a.Syntax   Meliputi segala sesuatu yang berkaitan dengan format data dan level-level sinyalb.Semantics   Meliputi informasi kontrol untuk koordinasi dan pengendalian kesalahanc.Timing   Meliputi kesesuaian urutan dan kecepatan
2.Arsitektur komunikasi komputer
Ada 2 arsitektur protocol yang digunakan sebagai dasar bagi pengembangan standar-standar:
a. Model TCP/IP
Model dan protokol TCP/IP merupakan open standard yang merupakan standar teknis dan historis dari internet. Pada tahun 1973, Bob Kahn dan Vint Cerf mengerjakan proyek yang nantinya disebut TCP/IP. Selanjutnya, model TCP/IP dikembangkan Departemen Pertahanan USA (DoD) pada tahun 1981 (cisco.netacad.net, ch9, s1) dengan tujuan ingin menciptakan suatu jaringan yang dapat bertahan dalam segala kondisi. TCP/IP adalah jenis protokol pertama yang digunakan dalam hubungan internet, sehingga banyak istilah dan konsep yang dipakai dalam hubungan internet berasal dari istilah dan konsep yang dipakai oleh protokol TCP/IP.
Perkembangan TCP/IP menciptakan suatu standar de facto, yaitu suatu standar yang diterima oleh kalangan pemakai dengan sendirinya karena pemakaian yang luas. Beberapa layer pada model TCP/IP mempunyai nama yang sama dengan model OSI.
TCP/IP mengimplemenasikan arsitektur berlapis yang terdiri atas empat lapis, diantaranya adalah :

  1. Protokol lapisan aplikasi
  2. Protokol lapisan antar-host
  3. Protokol lapisan internetwork
  4. Protokol lapisan antarmuka jaringan

b. UDP ( User Datagram Protokol)
UDP, singkatan dari User Datagram Protocol, adalah salah satu protokol lapisan transpor TCP/IP yang mendukung komunikasi yang tidak andal (unreliable), tanpa koneksi (connectionless) antara host-host dalam jaringan yang menggunakan TCP/IP.

  • Connectionless (tanpa koneksi): Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi
  • Unreliable (tidak andal): Pesan-pesan UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgment. Protokol lapisan aplikasi yang berjalan di atas UDP harus melakukan pemulihan terhadap pesan-pesan yang hilang selama transmisi. 
  • UDP menyediakan mekanisme untuk mengirim pesan-pesan ke sebuah protokol lapisan aplikasi atau proses tertentu di dalam sebuah host dalam jaringan yang menggunakan TCP/IP. Header UDP berisi field Source Process Identification dan Destination Process Identification. 
  • UDP menyediakan penghitungan checksum berukuran 16-bit terhadap keseluruhan pesan UDP.

Karakteristik danTeknologi Firewall

Hasil gambar untuk firewall

Karakteristik Firewall

Karakteristik Firewall atau ciri-ciri dari firewall adalah:

  • Firewall harus dapat lebih kuat dan tangguh terhadap serangan di luar. Hal ini artinya sistem operasi komputer akan lebih aman dan penggunaan sistem bisa diandalkan.
  • Yang dapat melakukan hubungan adalah aktivitas yang dikenal atau terdaftar pada jaringan. Dalam hal ini dilaksanakan dengan cara setting policy pada konfigurasi keamanan lokal.
  • Seluruh kegiatan yang asalnya dari dalam ke luar harus melalui firewall lebih dulu. Hal ini dilaksanakan dengan memberikan batasan atau meblokir setiap akses kepada jaringan lokal, terkecuali jika melalui firewall terlebih dahulu.

Teknologi firewall

  • Packet-filtering firewall; sebuah teknologi firewall yang bekerja pada titik-titik tempat pertemuan berbagai perangkat.
  • Circuit-level gateway; sebuah teknologi firewall yang mengawasi seluruh pergerakan informasi melalui protokol internet di seluruh jaringan untuk menentukan terpercaya atau tidaknya sebuah koneksi.
  • Stateful inspection firewall; sebuah teknologi firewall yang tidak hanya memeriksa isi dari sebuah paket informasi, melainkan riwayat paket tersebut dalam hubungannya dengan protokol atau jaringan-jaringan terdahulu yang perndah terdeteksi.
  • Application-level gateway; sebuah teknologi firewall dalam bentuk proksi yang menggabugnkan kemampuan packet filtering dan circuit-level gateway firewall. Teknologi ini menentukan tingkat kepercayaan sebuah koneksi berdasarkan layanan yang dituju.
  • Next-generation firewall; sebuah teknologi firewall yang memeriksa setiap isi dari paket data yang masuk atau keluar, termasuk sesi penelusuran internet yang sedang berjalan, bahkan jika dikombinasikan dengan koneksi dari sebuah perangkat jaringan HTTPS.

Apa itu basis data ?

  • Basis data (database) dapat dibayangkan sebagai lemari arsip
  • Hal yang dilakukan jika memiliki lemari arsip : memberi sampul, memberi nomor, menempatkan arsip tsb menurut urutan tertentu
  • Basis data : seluruh data disimpan dlm basis data pada masing-masing tabel sesuai dgn fungsinya, sehingga dgn mudah dapat melakukan penelusuran data yang diinginkan.
  • Masalah pada lemari arsip : kelambatan dlm menelusuri data
  • Basis data : penelusuran data mudah, sehingga mempercepat dalam mendapatkan informasi.

Basis Data ?

KONSEP DASAR BASIS DATA

  • Basis : Markas / gudang, tempat bersarang / berkumpul.
  • Data : Merupakan representasi fakta dunia nyata yang mewakili suatu objek.
  • Contoh : manusia (pegawai, siswa, pelanggan), barang, hewan, peristiwa, konsep, keadaan, dsb yg direkam dlm bentuk angka, huruf, simbol, teks, gambar, bunyi, atau kombinasinya.

Merupakan kumpulan data yang saling berhubungan (punya relasi). Relasi ditunjukan dengan kunci (key) dari tiap file yang ada.

Gambaran Basis Data dalam sebuah Hard disk

Prinsip Utama Basis Data
Pengaturan Data dengan tujuan utama fleksibilitas dan kecepatan dalam pengambilan data kembali.
Tujuan Basis Data


Sebagai efisiensi yang meliputi speed, space, dan accuracy, menangani data dalam jumlah besar, kebersamaan pemakaian (sharebility), dan meniadakan duplikasi dan inkonsistensi data

Contoh :

Nama yang tertulis di file SISWA : Moch. Toha
Nama yang tertulis di file Nilai : Moh. Toha

Pengolahan Data Tradisional
Terjadi duplikasi data (data redudancy)
File SISWA

nisNm_SiswaAlamatJenkelAgama

File NILAI

nisNm_SiswaKd_PelNm_PelNilai
Tidak terjadi hubungan data (relatability), karena tiap aplikasi membuat file tersendiri

Pendekatan Basis Data

  • Duplikasi data dikurangi
  • Hubungan data ditingkatkan

   

Manfaat Basis Data

  1. Kecepatan dan kemudahan (speed)
  2. Efisiensi ruang penyimpanan (space)
  3. Keakuratan(accuracy)
  4. Ketersediaan (availability)
  5. Kelengkapan (completeness)
  6. Keamanan (security)
  7. Kebersamaan pemakai (sharebility)

Operasi Basis Data

  • Pembuatan basis data baru (CREATE DATABASE)
  • Penghapusan basis data (DROP DATABASE)
  • Pembuatan file / tabel baru  ke suatu basis data (CREATE TABLE)
  • Penghapusan file/tabel dari suatu basis data (DROP TABLE)
  • Penambahan/pengisian data baru di sebuah basis data (INSERT)
  • Pengambilan data dari sebuah file / tabel (RETRIEVE / SEARCH) ØPenghapusan data dari sebuah file/tabel (DELETE)

Persyaratan Basis Data

  • Redudansi & Inkonsistensi Data
  • Pengaksesan Data
  • Data Terisolasi untuk Standarisasi
  • Masalah Kemanan (Security)
  • Multiple User

SISTEM BASIS DATA

  • Merupakan sistem yang terdiri dari kumpulan file atau tabel yang saling berhubungan dan memungkinkan beberapa pemakai mengakses dan memanipulasinya
  • Istilah sistem basis data : merupakan lingkup yang lebih luas daripada basis data.

KOMPONEN SISTEM BASIS DATA


  • Perangkat Keras (hardware)
  • Sistem Operasi (operating system)
  • Basis Data (database)
  • Program aplikasi (application program)
  • D B M S (Data Base Management System)
  • Administrator Basis Data
  • Pemakai (User) :

1.Programmer Aplikasi (Application Programmer) : pemakai yang berinteraksi dengan basis data melalui DML yang disertakan dlm program yang ditulis dlm bahasa pemrograman
2.User Mahir (Casual User) : Pemakai menggunakan query untuk akses data
3.User Umum (Naïve User) : pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan satu program aplikasi permanen
4.User Khusus (Specialized User) : pemakai yang menulis aplikasi basis data non konvensional untuk keperluan khusus, seperti untuk aplikasi sistem pakar, pengolahan citra dll.

Hubungan tabel/file/relation, row/record/tuple dan column/field/attribute

Aplikasi penjualan “Dunia Komputer”

Assalamualaikum, di pertemuan kali ini saya akan membuat aplikasi penjualan sederhana dan disini juga sudah ada tampilan dan penjelasannya, berikut juga sudah ada source codenya…

  1. Deskripsi
  • Login

Merupakan tampilan halaman pertama di aplikasi penjualan “Dunia Komputer”, dan sebagai admin atau kasir tentunya harus melakukan login dahulu.

Gambar 1.1

Login

  • Halaman Menu

Halaman menu merupakan admin itu sendiri dapat melakukan kegiatan penjualan di Dunia Komputer ini, dan ada beberapa fitur di dalamnya seperti register, transaksi, input barang dan laporan.

Gambar 1.2Hal Menu

  • Form Register

Form ini berfungsi agar admin bisa melakukan register terlebih dahulu sebelum menggunakan login, berhubung disini sudah ada admin yang sebelumnya jadi bisa di pakai untuk login. Jika belum bisa mengisi pada form register tersebut.

Gambar 1.3Register

  • Form Transaksi

Form transaksi ini dimana terjadi jual-beli barang yang disediakan oleh “Dunia Komputer, setelah melakukan transaksi maka struk bisa langsung di cetak.

Gambar 1.4Transaksi

Gambar 1.5Cetak

Di gambar 1.5 ini adalah tampilan menu untuk mencetak apa yang dilakukan transaksi di gambar 1.4

  • Form Laporan

Ada 2 laporan di dalam form ini yaitu laporan penjualan dan laporan input barang

Gambar 1.6

Laporan

  • Laporan Penjualan

Gambar 1.7Lap Penjualan

Berdasarkan di gambar 1.7 ini adalah bukti penjualan yang sudah pernah di lakukan berdasarkan tanggal penjualan, dan bisa di cetak atau di print langsung

Gambar 1.8

Gambar dibawah ini adalah laporan barang masuk artinya barang yang sudah masuk maupun sudah di jual kurang akan ketahuan disini dan jumlahnya pasti berkurang apabila sudah di jual.Barang masuk

  • Form Input Barang

Gambar 1.9

Gambar dibawah yaitu tampilan untuk menu input barang, jadi barang-barang yang sudah ada dibawah itu yang sudah terinput oleh admin atau kasirInput Barang

Nah setelah kita melihat tampilan-tampilan dan penjelasan diatas kita lanjut beranjak ke codingannya aja yaa…

⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓

2. Source Code

  • Login

package duniakomputer;
import javax.swing.JOptionPane;
/**
*
* @author Faishal
*/
public class formlogin extends javax.swing.JFrame {

/**
* Creates new form formlogin
*/
public formlogin() {
initComponents();
}

/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings(“unchecked”)
// <editor-fold defaultstate=”collapsed” desc=”Generated Code”>
private void initComponents() {

jPanel1 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
username = new javax.swing.JTextField();
btnlogin = new javax.swing.JButton();
jLabel4 = new javax.swing.JLabel();
password = new javax.swing.JPasswordField();
jPanel2 = new javax.swing.JPanel();
jLabel5 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jPanel1.setBackground(new java.awt.Color(0, 51, 51));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jLabel2.setFont(new java.awt.Font(“Tahoma”, 0, 18)); // NOI18N
jLabel2.setForeground(new java.awt.Color(255, 255, 255));
jLabel2.setText(“Username”);
jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 110, 110, 20));

username.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
usernameActionPerformed(evt);
}
});
jPanel1.add(username, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 110, 230, 30));

btnlogin.setText(“LOGIN”);
btnlogin.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnloginActionPerformed(evt);
}
});
jPanel1.add(btnlogin, new org.netbeans.lib.awtextra.AbsoluteConstraints(260, 220, 100, 40));

jLabel4.setFont(new java.awt.Font(“Tahoma”, 0, 18)); // NOI18N
jLabel4.setForeground(new java.awt.Color(255, 255, 255));
jLabel4.setText(“Password”);
jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 170, 110, 20));
jPanel1.add(password, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 160, 230, 30));

jPanel2.setBackground(new java.awt.Color(0, 102, 102));

jLabel5.setFont(new java.awt.Font(“Bradley Hand ITC”, 1, 24)); // NOI18N
jLabel5.setForeground(new java.awt.Color(255, 255, 255));
jLabel5.setText(“dunia komputer”);
jPanel2.add(jLabel5);

jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 400, 50));

getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 400, 300));

pack();
}// </editor-fold>

private void usernameActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void btnloginActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(username.getText().equals(“”) && password.getText().equals(“”)){
JOptionPane.showMessageDialog(null, “username and password required !!”);
}else{
try {
java.sql.Connection conn = (java.sql.Connection) koneksi.getKoneksi();
java.sql.Statement stm = conn.createStatement();
java.sql.ResultSet sql = stm.executeQuery(“select * from tbl_login where username='” + username.getText() + “‘ and password = ‘” + password.getText() + “‘”);

if (sql.next()) {
if (password.getText().equals(sql.getString(“password”))) {

JOptionPane.showMessageDialog(null, “login berhasil”);
this.dispose();
formmenu fb = new formmenu();
fb.setVisible(true);
this.setVisible(false);
} else {
JOptionPane.showMessageDialog(null, “username and password salah”);
username.setText(“”);
password.setText(“”);
username.requestFocus();
}
} else {
JOptionPane.showMessageDialog(null, “username dan password tidak tersedia”);
username.setText(“”);
password.setText(“”);
username.requestFocus();
}

} catch (Exception e) {
JOptionPane.showMessageDialog(null, “terjadi kesalahan”);
}
}
}

private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (JOptionPane.showConfirmDialog(null, “Yakin ingin keluar?”, “dunia komputer”, JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
this.setVisible(false);
}

}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “>
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if (“Nimbus”.equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(formlogin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(formlogin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(formlogin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(formlogin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new formlogin().setVisible(true);
}
});
}

// Variables declaration – do not modify
private javax.swing.JButton btnlogin;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPasswordField password;
private javax.swing.JTextField username;
// End of variables declaration
}

  • Halaman Menu

package duniakomputer;

import javax.swing.JOptionPane;

/**
*
* @author Faishal
*/
public class formmenu extends javax.swing.JFrame {

/**
* Creates new form formmenu
*/
public formmenu() {
initComponents();
}

/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings(“unchecked”)
// <editor-fold defaultstate=”collapsed” desc=”Generated Code”>
private void initComponents() {

jLabel1 = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jButton5 = new javax.swing.JButton();
jPanel1 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
jButton4 = new javax.swing.JButton();

jLabel1.setText(“jLabel1”);

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setBackground(new java.awt.Color(0, 51, 51));
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jPanel2.setBackground(new java.awt.Color(0, 51, 51));
jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jButton1.setText(“Register”);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jPanel2.add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 110, 160, 60));

jButton2.setText(“Transaksi”);
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jPanel2.add(jButton2, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 110, 160, 60));

jButton3.setText(“Laporan”);
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jPanel2.add(jButton3, new org.netbeans.lib.awtextra.AbsoluteConstraints(540, 110, 160, 60));

jButton5.setText(“Input Barang”);
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton5ActionPerformed(evt);
}
});
jPanel2.add(jButton5, new org.netbeans.lib.awtextra.AbsoluteConstraints(370, 110, 160, 60));

jPanel1.setBackground(new java.awt.Color(0, 102, 102));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jLabel2.setFont(new java.awt.Font(“Bradley Hand ITC”, 1, 24)); // NOI18N
jLabel2.setForeground(new java.awt.Color(255, 255, 255));
jLabel2.setText(“dunia komputer”);
jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 20, -1, -1));

jButton4.setText(“LOG OUT”);
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
jPanel1.add(jButton4, new org.netbeans.lib.awtextra.AbsoluteConstraints(600, 20, 120, 30));

jPanel2.add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 730, 60));

getContentPane().add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 730, 300));

pack();
}// </editor-fold>

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
formregister fb = new formregister();
fb.setVisible(true);
this.setVisible(false);
}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
formbeli fb = new formbeli();
fb.setVisible(true);
this.setVisible(false);
}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
formlaporan fb = new formlaporan();
fb.setVisible(true);
this.setVisible(false);
}

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (JOptionPane.showConfirmDialog(null, “Yakin ingin keluar?”, “Pelabuha App”, JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
this.setVisible(false);
}
}

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
forminputbarang fb = new forminputbarang();
fb.setVisible(true);
this.setVisible(false);
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “>
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if (“Nimbus”.equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(formmenu.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(formmenu.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(formmenu.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(formmenu.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new formmenu().setVisible(true);
}
});
}

// Variables declaration – do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton5;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
// End of variables declaration
}

  • Form Register

package duniakomputer;

import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

/**
*
* @author Faishal
*/
public class formregister extends javax.swing.JFrame {
private DefaultTableModel model;

/**
* Creates new form formregister
*/
public formregister() {
initComponents();
model = new DefaultTableModel();

tabelbarang.setModel(model);

model.addColumn(“Username”);
model.addColumn(“Password”);
model.addColumn(“jenis_kelamin”);
model.addColumn(“email”);
model.addColumn(“no_telp”);
model.addColumn(“agama”);
model.addColumn(“alamat”);
loadData();
}
public void loadData() {
jButton1.setEnabled(true);
jButton2.setEnabled(false);
jTextField1.setEnabled(true);
model.getDataVector().removeAllElements();
model.fireTableDataChanged();

try {
Connection c = koneksi.getKoneksi();
Statement s = c.createStatement();

String sql = “SELECT * FROM tbl_login”;
ResultSet r = s.executeQuery(sql);

while (r.next()) {
Object[] o = new Object[7];
o[0] = r.getString(“username”);
o[1] = r.getString(“password”);
o[2] = r.getString(“jenis_kelamin”);
o[3] = r.getString(“email”);
o[4] = r.getString(“no_telp”);
o[5] = r.getString(“agama”);
o[6] = r.getString(“alamat”);

model.addRow(o);
}
r.close();
s.close();
} catch (SQLException e) {
System.out.println(“Terjadi Error”);
}
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings(“unchecked”)
// <editor-fold defaultstate=”collapsed” desc=”Generated Code”>
private void initComponents() {

buttonGroup1 = new javax.swing.ButtonGroup();
jPanel1 = new javax.swing.JPanel();
jButton4 = new javax.swing.JButton();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jLabel6 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
tabelbarang = new javax.swing.JTable();
jLabel7 = new javax.swing.JLabel();
email = new javax.swing.JTextField();
jPasswordField2 = new javax.swing.JPasswordField();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jPasswordField1 = new javax.swing.JPasswordField();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
notelp = new javax.swing.JTextField();
jTextField4 = new javax.swing.JTextField();
agama = new javax.swing.JComboBox<>();
jScrollPane2 = new javax.swing.JScrollPane();
alamat = new javax.swing.JTextArea();
laki = new javax.swing.JRadioButton();
perempuan = new javax.swing.JRadioButton();
jPanel2 = new javax.swing.JPanel();
jLabel3 = new javax.swing.JLabel();
jButton3 = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jPanel1.setBackground(new java.awt.Color(0, 51, 51));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jButton4.setText(“Hapus”);
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
jPanel1.add(jButton4, new org.netbeans.lib.awtextra.AbsoluteConstraints(320, 310, 90, 40));

jButton1.setText(“Tambah”);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jPanel1.add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 310, 100, 40));

jButton2.setText(“Ubah”);
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jPanel1.add(jButton2, new org.netbeans.lib.awtextra.AbsoluteConstraints(480, 310, 100, 40));

jLabel6.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel6.setForeground(new java.awt.Color(255, 255, 255));
jLabel6.setText(“Alamat “);
jPanel1.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(410, 160, 100, -1));

tabelbarang.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
“Title 1”, “Title 2”, “Title 3”, “Title 4”
}
));
tabelbarang.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
tabelbarangMouseClicked(evt);
}
});
jScrollPane1.setViewportView(tabelbarang);

jPanel1.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 370, 770, 150));

jLabel7.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel7.setForeground(new java.awt.Color(255, 255, 255));
jLabel7.setText(“Jenis Kelamin “);
jPanel1.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 210, 100, -1));
jPanel1.add(email, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 250, 170, 30));
jPanel1.add(jPasswordField2, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 150, 170, 30));

jLabel1.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel1.setForeground(new java.awt.Color(255, 255, 255));
jLabel1.setText(“Username “);
jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 80, 80, -1));

jLabel2.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel2.setForeground(new java.awt.Color(255, 255, 255));
jLabel2.setText(“Password “);
jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 120, -1, -1));

jLabel4.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel4.setForeground(new java.awt.Color(255, 255, 255));
jLabel4.setText(“Retype “);
jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 160, -1, -1));
jPanel1.add(jTextField1, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 70, 170, 30));

jPasswordField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jPasswordField1ActionPerformed(evt);
}
});
jPanel1.add(jPasswordField1, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 110, 170, 30));

jLabel8.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel8.setForeground(new java.awt.Color(255, 255, 255));
jLabel8.setText(” Email “);
jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 260, 100, -1));

jLabel9.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel9.setForeground(new java.awt.Color(255, 255, 255));
jLabel9.setText(“No. Telp “);
jPanel1.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(410, 70, 100, -1));

jLabel10.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel10.setForeground(new java.awt.Color(255, 255, 255));
jLabel10.setText(“Agama “);
jPanel1.add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(410, 110, 100, -1));
jPanel1.add(notelp, new org.netbeans.lib.awtextra.AbsoluteConstraints(490, 70, 170, 30));

jTextField4.setText(“jTextField3”);
jPanel1.add(jTextField4, new org.netbeans.lib.awtextra.AbsoluteConstraints(490, 70, 170, 30));

agama.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { “Islam”, “Khatolik”, “Protestan”, “KhongHuCu”, “Budha”, “Hindu” }));
agama.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
agamaActionPerformed(evt);
}
});
jPanel1.add(agama, new org.netbeans.lib.awtextra.AbsoluteConstraints(490, 110, 170, 30));

alamat.setColumns(20);
alamat.setRows(5);
jScrollPane2.setViewportView(alamat);

jPanel1.add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(490, 150, 170, 100));

buttonGroup1.add(laki);
laki.setForeground(new java.awt.Color(255, 255, 255));
laki.setText(“Laki-Laki”);
laki.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
lakiActionPerformed(evt);
}
});
jPanel1.add(laki, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 210, -1, -1));

buttonGroup1.add(perempuan);
perempuan.setForeground(new java.awt.Color(255, 255, 255));
perempuan.setText(“Perempuan”);
jPanel1.add(perempuan, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 210, -1, -1));

jPanel2.setBackground(new java.awt.Color(0, 102, 102));
jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jLabel3.setFont(new java.awt.Font(“Bradley Hand ITC”, 1, 24)); // NOI18N
jLabel3.setForeground(new java.awt.Color(255, 255, 255));
jLabel3.setText(“Input Admin”);
jPanel2.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 10, -1, -1));

jButton3.setText(“Back”);
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jPanel2.add(jButton3, new org.netbeans.lib.awtextra.AbsoluteConstraints(670, 10, 90, 30));

jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 770, 50));

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 770, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE)))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 520, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE)))
);

pack();
}// </editor-fold>

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(jTextField1.getText().equals(“”) ||jPasswordField1.getText().equals(“”) || laki.getText().equals(“”)|| email.getText().equals(“”)|| notelp.getText().equals(“”)|| agama.getSelectedItem().equals(“”)|| alamat.getText().equals(“”)){
JOptionPane.showMessageDialog(null, “LENGKAPI DATA !”, “dunia komputer”, JOptionPane.INFORMATION_MESSAGE);
}else{
try {
String sql =”delete from tbl_login where username='”+jTextField1.getText()+”‘”;
java.sql.Connection conn=(Connection)koneksi.getKoneksi();
java.sql.PreparedStatement pst=conn.prepareStatement(sql);
pst.execute();
JOptionPane.showMessageDialog(this, “berhasil di hapus”);
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
loadData();
jTextField1.setText(“”);
jPasswordField1.setText(“”);
jPasswordField2.setText(“”);
}
}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(jTextField1.getText().equals(“”) ||jPasswordField1.getText().equals(“”) || laki.getText().equals(“”)|| email.getText().equals(“”)|| notelp.getText().equals(“”)|| agama.getSelectedItem().equals(“”)|| alamat.getText().equals(“”)){
JOptionPane.showMessageDialog(null, “LENGKAPI DATA !”, “dunia komputer”, JOptionPane.INFORMATION_MESSAGE);
}else{
String user = jTextField1.getText();
String pass = jPasswordField1.getText();

String emaill = email.getText();
String notelpp = notelp.getText();
String agamaa = (String) agama.getSelectedItem();
String alamatt = alamat.getText();
String jk =””;
if(laki.isSelected()){
jk = laki.getText();
}else{
jk = perempuan.getText();
}
try {
Connection c = koneksi.getKoneksi();

String sql = “INSERT INTO tbl_login VALUES (?, ?, ?, ?, ?, ?, ?)”;

PreparedStatement p = c.prepareStatement(sql);
p.setString(1, user);
p.setString(2, pass);
p.setString(3, jk);
p.setString(4, emaill);
p.setString(5, notelpp);
p.setString(6, agamaa);
p.setString(7, alamatt);
p.executeUpdate();
p.close();
} catch (SQLException e) {
System.out.println(“Terjadi Error”);
} finally {
loadData();
jTextField1.setText(“”);
jPasswordField1.setText(“”);
jPasswordField2.setText(“”);
buttonGroup1.clearSelection();
email.setText(“”);
notelp.setText(“”);
agama.setSelectedItem(“”);
alamat.setText(“”);

JOptionPane.showMessageDialog(null, “Data berhasil tersimpan”, “Pelabuhan App”, JOptionPane.INFORMATION_MESSAGE);
}
}

}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int i = tabelbarang.getSelectedRow();
if (i == -1) {
return;
}
String user = (String) model.getValueAt(i, 0);
try {
Connection c = koneksi.getKoneksi();
String jk =””;
if(laki.isSelected()){
jk = laki.getText();
}else{
jk = perempuan.getText();
}
String sql = “UPDATE tbl_login SET password = ‘” + jPasswordField1.getText() + “‘, jenis_kelamin='”+ jk +”‘ WHERE username ='” + user + “‘”;
PreparedStatement p = c.prepareStatement(sql);
p.executeUpdate();
p.close();
} catch (SQLException e) {
System.out.println(“Terjadi Error”);
} finally {
loadData();
jTextField1.setText(“”);
jPasswordField1.setText(“”);
jPasswordField2.setText(“”);
buttonGroup1.clearSelection();
email.setText(“”);
notelp.setText(“”);
agama.setSelectedItem(“”);
alamat.setText(“”);
jButton1.setEnabled(true);
JOptionPane.showMessageDialog(null, “Data berhasil diubah”, “Pelabuhan App”, JOptionPane.INFORMATION_MESSAGE);
jTextField1.requestFocus();
}

}

private void tabelbarangMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
jButton1.setEnabled(false);
jButton2.setEnabled(true);
jTextField1.setEnabled(false);
int i = tabelbarang.getSelectedRow();
if (i == -1) {
return;
}
String user = (String) model.getValueAt(i, 0);
jTextField1.setText(user);

String pass = (String) model.getValueAt(i, 1);
jPasswordField1.setText(pass);
jPasswordField2.setText(pass);

String jk = (String) model.getValueAt(i, 2);
String l =”Laki-Laki”;
if(jk.equals(l)){
laki.setSelected(true);
}else{
perempuan.setSelected(true);
}

String emaill = (String) model.getValueAt(i, 3);
email.setText(emaill);

String notelpp = (String) model.getValueAt(i, 4);
notelp.setText(notelpp);

String agamaa = (String) model.getValueAt(i, 5);
agama.setSelectedItem(agamaa);

String alamatt = (String) model.getValueAt(i, 6);
alamat.setText(alamatt);
}

private void jPasswordField1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void lakiActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:

}

private void agamaActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
formmenu au = new formmenu();
au.setVisible(true);
this.setVisible(false);
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “>
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if (“Nimbus”.equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(formregister.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(formregister.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(formregister.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(formregister.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new formregister().setVisible(true);
}
});
}

// Variables declaration – do not modify
private javax.swing.JComboBox<String> agama;
private javax.swing.JTextArea alamat;
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JTextField email;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPasswordField jPasswordField1;
private javax.swing.JPasswordField jPasswordField2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField4;
private javax.swing.JRadioButton laki;
private javax.swing.JTextField notelp;
private javax.swing.JRadioButton perempuan;
private javax.swing.JTable tabelbarang;
// End of variables declaration
}

  • Form Transaksi

package duniakomputer;
import java.awt.Desktop;
import java.net.URL;
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import java.awt.event.KeyEvent;
/**
*
* @author Faishal
*/
public class formbeli extends javax.swing.JFrame {
public long total;
public long bayar;
public long kembali;
public Statement st;
Connection cn = koneksi.getKoneksi();

private DefaultTableModel model;
/**
* Creates new form formbeli
*/
public formbeli() {
initComponents();
model = new DefaultTableModel();

tabel.setModel(model);
model.addColumn(“ID”);
model.addColumn(“kode barang”);
model.addColumn(“nama barang”);
model.addColumn(“harga satuan”);
model.addColumn(“jumlah beli”);
model.addColumn(“harga”);
loadData();
nofaktur();
tampilpilih();

}
public void FilterHuruf(KeyEvent a){
if(Character.isDigit(a.getKeyChar())){
a.consume();
JOptionPane.showMessageDialog(null, “masukan huruf saja!”, “peringatan”, JOptionPane.WARNING_MESSAGE);
}
}
public void FilterAngka(KeyEvent a){
if(Character.isAlphabetic(a.getKeyChar())){
a.consume();
JOptionPane.showMessageDialog(null, “masukan angka saja!”, “peringatan”, JOptionPane.WARNING_MESSAGE);
}
}
public final void loadData() {
model.getDataVector().removeAllElements();
model.fireTableDataChanged();
try {
Connection c = koneksi.getKoneksi();
Statement s = c.createStatement();

String sql = “SELECT * FROM tbl_tmp_beli”;
ResultSet r = s.executeQuery(sql);

while (r.next()) {
Object[] o = new Object[6];
o[0] = r.getString(“id_tmp”);
o[1] = r.getString(“kd_barang”);
o[2] = r.getString(“nama_barang”);
o[3] = r.getString(“hsatuan”);
o[4] = r.getString(“jumlah_beli”);
o[5] = r.getString(“harga”);

model.addRow(o);
}
r.close();
s.close();
} catch (SQLException e) {
System.out.println(“Terjadi Error”);
}
}
private void tampilpilih() {
try {
Connection c = koneksi.getKoneksi();
Statement s = c.createStatement();

String sql = “SELECT nama_barang FROM tbl_barang WHERE jumlah_barang !=’0′”;
ResultSet r = s.executeQuery(sql);

while (r.next()) {
pilihbarang.addItem(r.getString(“nama_barang”));
}

r.last();
int jumlahdata = r.getRow();
r.first();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}

}
private void nofaktur() {
try {
Connection c = koneksi.getKoneksi();
Statement s = c.createStatement();

String sql = “SELECT * FROM tbl_beli ORDER by nofaktur desc”;
ResultSet r = s.executeQuery(sql);

if (r.next()) {
String nofak = r.getString(“nofaktur”).substring(1);
String AN = “” + (Integer.parseInt(nofak) + 1);
String Nol = “”;

if (AN.length() == 1) {
Nol = “000”;
} else if (AN.length() == 2) {
Nol = “00”;
} else if (AN.length() == 3) {
Nol = “0”;
} else if (AN.length() == 4) {
Nol = “”;
}

faktur.setText(“F” + Nol + AN);
} else {
faktur.setText(“F0001”);
}

} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings(“unchecked”)
// <editor-fold defaultstate=”collapsed” desc=”Generated Code”>
private void initComponents() {

jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
faktur = new javax.swing.JTextField();
kdbarang = new javax.swing.JTextField();
pilihbarang = new javax.swing.JComboBox<>();
tjumlah = new javax.swing.JTextField();
hsatuan = new javax.swing.JTextField();
ttotal = new javax.swing.JTextField();
hitung = new javax.swing.JButton();
tambah = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
tabel = new javax.swing.JTable();
jLabel9 = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
jLabel5 = new javax.swing.JLabel();
jButton4 = new javax.swing.JButton();
jPanel3 = new javax.swing.JPanel();
jButton5 = new javax.swing.JButton();
jTextField3 = new javax.swing.JTextField();
jTextField1 = new javax.swing.JTextField();
jLabel10 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jButton3 = new javax.swing.JButton();
jLabel4 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
jLabel6 = new javax.swing.JLabel();
jumlah = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jPanel1.setBackground(new java.awt.Color(0, 51, 51));
jPanel1.setForeground(new java.awt.Color(0, 51, 51));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jLabel1.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel1.setForeground(new java.awt.Color(255, 255, 255));
jLabel1.setText(“No.Faktur”);
jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 80, -1, -1));

jLabel2.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel2.setForeground(new java.awt.Color(255, 255, 255));
jLabel2.setText(“Kode Barang “);
jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 170, -1, -1));

jLabel3.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel3.setForeground(new java.awt.Color(255, 255, 255));
jLabel3.setText(“Nama barang “);
jPanel1.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 130, -1, -1));

jLabel8.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel8.setForeground(new java.awt.Color(255, 255, 255));
jLabel8.setText(“Harga Satuan”);
jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 200, -1, -1));

faktur.setEditable(false);
jPanel1.add(faktur, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 80, 90, 30));

kdbarang.setEditable(false);
jPanel1.add(kdbarang, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 160, 120, 30));

pilihbarang.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { “pilih barang” }));
pilihbarang.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
pilihbarangActionPerformed(evt);
}
});
jPanel1.add(pilihbarang, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 120, 130, 30));

tjumlah.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
tjumlahKeyTyped(evt);
}
});
jPanel1.add(tjumlah, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 240, 130, 30));

hsatuan.setEditable(false);
hsatuan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
hsatuanActionPerformed(evt);
}
});
jPanel1.add(hsatuan, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 200, 130, 30));

ttotal.setEditable(false);
ttotal.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
ttotalActionPerformed(evt);
}
});
jPanel1.add(ttotal, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 280, 130, 30));

hitung.setText(“HITUNG”);
hitung.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
hitungActionPerformed(evt);
}
});
jPanel1.add(hitung, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 280, 80, 30));

tambah.setText(“TAMBAH”);
tambah.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tambahActionPerformed(evt);
}
});
jPanel1.add(tambah, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 330, 330, 30));

tabel.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
“Title 1”, “Title 2”, “Title 3”, “Title 4”
}
));
tabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
tabelMouseClicked(evt);
}
});
jScrollPane1.setViewportView(tabel);

jPanel1.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 370, 540, 100));

jLabel9.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel9.setForeground(new java.awt.Color(255, 255, 255));
jLabel9.setText(“Jumlah Beli”);
jPanel1.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 240, -1, -1));

jPanel2.setBackground(new java.awt.Color(0, 102, 102));

jLabel5.setFont(new java.awt.Font(“Bradley Hand ITC”, 1, 24)); // NOI18N
jLabel5.setForeground(new java.awt.Color(255, 255, 255));
jLabel5.setText(“dunia komputer”);

jButton4.setText(“kembali”);
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel5)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 675, Short.MAX_VALUE)
.addComponent(jButton4)
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 940, 50));

jPanel3.setBackground(new java.awt.Color(0, 102, 102));
jPanel3.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jButton5.setText(“TOTAL”);
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton5ActionPerformed(evt);
}
});
jPanel3.add(jButton5, new org.netbeans.lib.awtextra.AbsoluteConstraints(69, 107, 194, 30));

jTextField3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField3ActionPerformed(evt);
}
});
jTextField3.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jTextField3KeyReleased(evt);
}
public void keyTyped(java.awt.event.KeyEvent evt) {
jTextField3KeyTyped(evt);
}
});
jPanel3.add(jTextField3, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 170, 160, 40));

jTextField1.setEditable(false);
jPanel3.add(jTextField1, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 230, 160, 40));

jLabel10.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel10.setForeground(new java.awt.Color(255, 255, 255));
jLabel10.setText(“bayar”);
jPanel3.add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 180, -1, -1));

jLabel7.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel7.setForeground(new java.awt.Color(255, 255, 255));
jLabel7.setText(“kembalian”);
jPanel3.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 240, -1, -1));

jButton3.setText(“CETAK”);
jButton3.setEnabled(false);
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jPanel3.add(jButton3, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 350, 230, 30));

jLabel4.setFont(new java.awt.Font(“Tahoma”, 0, 24)); // NOI18N
jLabel4.setForeground(new java.awt.Color(255, 255, 255));
jPanel3.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(128, 60, -1, -1));

jButton1.setText(“SELESAI TRANSAKSI”);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jPanel3.add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 300, 150, 30));

jLabel6.setFont(new java.awt.Font(“Tahoma”, 0, 24)); // NOI18N
jLabel6.setForeground(new java.awt.Color(255, 255, 255));
jLabel6.setText(“Rp.”);
jPanel3.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 60, 50, -1));

jPanel1.add(jPanel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 80, 320, 400));

jumlah.setEnabled(false);
jPanel1.add(jumlah, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 90, 20, 10));

jTextField2.setEditable(false);
jTextField2.setText(“jTextField2”);
jPanel1.add(jTextField2, new org.netbeans.lib.awtextra.AbsoluteConstraints(420, 380, -1, -1));

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 935, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 529, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 23, Short.MAX_VALUE))
);

pack();
}// </editor-fold>

private void hsatuanActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void pilihbarangActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (pilihbarang.getSelectedItem().equals(“pilih barang”)){
kdbarang.setText(“”);
hsatuan.setText(“”);
}else{
try {
Connection c = koneksi.getKoneksi();
Statement s = c.createStatement();

String sql = “SELECT kd_barang, jumlah_barang FROM tbl_barang WHERE nama_barang ='” + pilihbarang.getSelectedItem() + “‘”;
ResultSet r = s.executeQuery(sql);

while (r.next()) {
kdbarang.setText(r.getString(“kd_barang”));
jumlah.setText(r.getString(“jumlah_barang”));
}

} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
try {
Connection c = koneksi.getKoneksi();
Statement s = c.createStatement();

String sql = “SELECT harga_jual FROM tbl_barang WHERE nama_barang ='” + pilihbarang.getSelectedItem() + “‘”;
ResultSet r = s.executeQuery(sql);

while (r.next()) {
hsatuan.setText(r.getString(“harga_jual”));
}

} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
}

private void hitungActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(faktur.getText().equals(“”) ||kdbarang.getText().equals(“”) || pilihbarang.getSelectedItem().equals(“”)|| hsatuan.getText().equals(“”)|| tjumlah.getText().equals(“”)){
JOptionPane.showMessageDialog(null, “LENGKAPI DATA !”, “dunia komputer”, JOptionPane.INFORMATION_MESSAGE);

}else{
String a = tjumlah.getText();
int aa = Integer.parseInt(a);

String b = jumlah.getText();
int bb = Integer.parseInt(b);
if(aa > bb){
JOptionPane.showMessageDialog(null, “jumlah melebihi stok”, “Dunia Komputer”, JOptionPane.INFORMATION_MESSAGE);
tjumlah.setText(“”);
}else{

if(tjumlah.getText().equals(“”)){
JOptionPane.showMessageDialog(null, “ISI JUMLAH BELI !”);
}else{
int jumlah, harga, total;

jumlah = Integer.parseInt(tjumlah.getText().toString());
harga = Integer.parseInt(hsatuan.getText().toString());
total = jumlah * harga;

ttotal.setText(Integer.toString(total));

}
}
}

}

private void tambahActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:

if(faktur.getText().equals(“”) ||kdbarang.getText().equals(“”) || pilihbarang.getSelectedItem().equals(“”)|| hsatuan.getText().equals(“”)|| tjumlah.getText().equals(“”)|| ttotal.getText().equals(“”)){
JOptionPane.showMessageDialog(null, “LENGKAPI DATA !”, “dunia komputer”, JOptionPane.INFORMATION_MESSAGE);

}else{
String kdbarangg = kdbarang.getText();
String pilihbarangg = (String)pilihbarang.getSelectedItem();
String hsatuann = hsatuan.getText();
String tjumlahh = tjumlah.getText();
String totall = ttotal.getText();

try {
Connection c = koneksi.getKoneksi();

String sql = “INSERT INTO tbl_tmp_beli VALUES (?, ?, ?, ?, ?, ?)”;

PreparedStatement p = c.prepareStatement(sql);
p.setString(1, null);
p.setString(2, kdbarangg);
p.setString(3, pilihbarangg);
p.setString(4, hsatuann);
p.setString(5, tjumlahh);
p.setString(6, totall);

p.executeUpdate();
p.close();
} catch (SQLException e) {
System.out.println(“Terjadi Error”);
} finally {
nofaktur();
kdbarang.setText(“”);
pilihbarang.setSelectedItem(“”);
hsatuan.setText(“”);
tjumlah.setText(“”);
ttotal.setText(“”);
JOptionPane.showMessageDialog(null, “Data berhasil disimpan”, “Dunia Komputer”, JOptionPane.INFORMATION_MESSAGE);
loadData();

}
}
}

private void tabelMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
int jawaban;
if ((jawaban = JOptionPane.showConfirmDialog(null,”Yakin batal?”, “Konfirmasi”, JOptionPane.YES_NO_OPTION)) == 0) {
try{

int i = tabel.getSelectedRow();
if (i == -1) {
return;
}
String id = (String) model.getValueAt(i, 0);

st = cn.createStatement();
st.executeUpdate(“delete from tbl_tmp_beli where id_tmp = ‘”+id+ “‘”);

nofaktur();
loadData();
}catch(Exception e){
e.printStackTrace();
}
}
}

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
formmenu fb = new formmenu();
fb.setVisible(true);
this.setVisible(false);
}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(jTextField3.getText().equals(“”) ||jTextField1.getText().equals(“”)){
JOptionPane.showMessageDialog(null, “LENGKAPI DATA !”, “dunia komputer”, JOptionPane.INFORMATION_MESSAGE);

}else{
String a = jTextField1.getText();
int ab = Integer.parseInt(String.valueOf(jTextField1.getText()));
if(ab < 0){
JOptionPane.showMessageDialog(null, “Uang anda kurang”, “Dunia Komputer”, JOptionPane.INFORMATION_MESSAGE);
jTextField3.setText(“”);
jTextField1.setText(“”);
}else{
try {
Connection c = koneksi.getKoneksi();
Statement s = c.createStatement();

String sql = “SELECT * FROM tbl_tmp_beli”;
ResultSet r = s.executeQuery(sql);

while (r.next()) {
long millis=System.currentTimeMillis();
java.sql.Date date=new java.sql.Date(millis);
System.out.println(date);
String tgl = date.toString();
String sqla = “INSERT INTO tbl_beli VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)”;

PreparedStatement p = c.prepareStatement(sqla);
p.setString(1, faktur.getText());
p.setString(2, r.getString(“kd_barang”));
p.setString(3, r.getString(“nama_barang”));
p.setString(4, r.getString(“hsatuan”));
p.setString(5, r.getString(“jumlah_beli”));
p.setString(6, r.getString(“harga”));
p.setString(7, jTextField3.getText());
p.setString(8, jTextField1.getText());
p.setString(9, tgl);

p.executeUpdate();
p.close();

}
r.close();
s.close();
} catch (SQLException e) {
System.out.println(“Terjadi Error”);
}finally{
try {
String sqla =”TRUNCATE `tbl_tmp_beli”;
java.sql.Connection conn=(Connection)koneksi.getKoneksi();
java.sql.PreparedStatement pst=conn.prepareStatement(sqla);
pst.execute();
JOptionPane.showMessageDialog(null, “TRANSAKSI SELESAI”, “Dunia Komputer”, JOptionPane.INFORMATION_MESSAGE);
loadData();
jTextField2.setText(faktur.getText());
jTextField3.setText(“”);
jTextField1.setText(“”);
jLabel4.setText(“”);
nofaktur();
jButton3.setEnabled(true);
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
}
}
}

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//

try {
Connection c = koneksi.getKoneksi();
Statement s = c.createStatement();

String sql = “SELECT SUM(`harga`) AS total FROM tbl_tmp_beli”;
ResultSet r = s.executeQuery(sql);

while (r.next()) {
jLabel4.setText(r.getString(“”+”total”));

}
r.close();
s.close();
} catch (SQLException e) {
System.out.println(“Terjadi Error”);
}

}

private void jTextField3KeyReleased(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:

bayar = Integer.parseInt(String.valueOf(jTextField3.getText()));
total = Integer.parseInt(String.valueOf(jLabel4.getText()));
kembali = bayar – total;

jTextField1.setText(Long.toString(kembali));
}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
Desktop.getDesktop().browse(new URL(“http://localhost/duniakomputer/invoice.php?lap&fk=”+jTextField2.getText()+”&#8221;).toURI());
} catch (Exception e){
System.out.println(e);
}
}

private void jTextField3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:

}

private void jTextField3KeyTyped(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
FilterAngka(evt);
}

private void ttotalActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void tjumlahKeyTyped(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
FilterAngka(evt);
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “>
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if (“Nimbus”.equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(formbeli.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(formbeli.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(formbeli.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(formbeli.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new formbeli().setVisible(true);
}
});
}

// Variables declaration – do not modify
private javax.swing.JTextField faktur;
private javax.swing.JButton hitung;
private javax.swing.JTextField hsatuan;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton5;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JTextField jumlah;
private javax.swing.JTextField kdbarang;
private javax.swing.JComboBox<String> pilihbarang;
private javax.swing.JTable tabel;
private javax.swing.JButton tambah;
private javax.swing.JTextField tjumlah;
private javax.swing.JTextField ttotal;
// End of variables declaration
}

  • Form Laporan

package duniakomputer;

import java.awt.Desktop;
import java.net.URL;

/**
*
* @author Faishal
*/
public class formlaporan extends javax.swing.JFrame {

/**
* Creates new form formlaporan
*/
public formlaporan() {
initComponents();
}

/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings(“unchecked”)
// <editor-fold defaultstate=”collapsed” desc=”Generated Code”>
private void initComponents() {

jPanel1 = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jPanel1.setBackground(new java.awt.Color(0, 51, 51));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jButton1.setText(“LAPORAN DATA BARANG”);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jPanel1.add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 190, 210, 60));

jButton2.setText(“LAPORAN PENJUALAN”);
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jPanel1.add(jButton2, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 90, 210, 60));

jButton3.setText(“kembali”);
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jPanel1.add(jButton3, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 10, -1, -1));

getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 400, 300));

pack();
}// </editor-fold>

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
formmenu fb = new formmenu();
fb.setVisible(true);
this.setVisible(false);
}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
Desktop.getDesktop().browse(new URL(“http://localhost/duniakomputer/print.php&#8221;).toURI());
} catch (Exception e){
System.out.println(e);
}
}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
Desktop.getDesktop().browse(new URL(“http://localhost/duniakomputer/lappenjualan.php&#8221;).toURI());
} catch (Exception e){
System.out.println(e);
}
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “>
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if (“Nimbus”.equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(formlaporan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(formlaporan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(formlaporan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(formlaporan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new formlaporan().setVisible(true);
}
});
}

// Variables declaration – do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JPanel jPanel1;
// End of variables declaration
}

  • Form Input Barang

package duniakomputer;
import java.awt.event.KeyEvent;
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

/**
*
* @author Faishal
*/
public class forminputbarang extends javax.swing.JFrame {
private DefaultTableModel model;
/**
* Creates new form forminputbarang
*/
public forminputbarang() {
initComponents();

model = new DefaultTableModel();

tabelinput.setModel(model);

model.addColumn(“kd_barang”);
model.addColumn(“nama_barang”);
model.addColumn(“jumlah_barang”);
model.addColumn(“harga_beli”);
model.addColumn(“harga_jual”);
loadData();
kode();

}
public void FilterHuruf(KeyEvent a){
if(Character.isDigit(a.getKeyChar())){
a.consume();
JOptionPane.showMessageDialog(null, “masukan huruf saja!”, “peringatan”, JOptionPane.WARNING_MESSAGE);
}
}
public void FilterAngka(KeyEvent a){
if(Character.isAlphabetic(a.getKeyChar())){
a.consume();
JOptionPane.showMessageDialog(null, “masukan angka saja!”, “peringatan”, JOptionPane.WARNING_MESSAGE);
}
}
public final void loadData() {
bsimpan.setEnabled(true);
bhapus.setEnabled(false);
bedit.setEnabled(false);
model.getDataVector().removeAllElements();
model.fireTableDataChanged();

try {
Connection c = koneksi.getKoneksi();
Statement s = c.createStatement();

String sql = “SELECT * FROM tbl_barang”;
ResultSet r = s.executeQuery(sql);

while (r.next()) {
Object[] o = new Object[5];
o[0] = r.getString(“kd_barang”);
o[1] = r.getString(“nama_barang”);
o[2] = r.getString(“jumlah_barang”);
o[3] = r.getString(“harga_beli”);
o[4] = r.getString(“harga_jual”);

model.addRow(o);
}
r.close();
s.close();
} catch (SQLException e) {
System.out.println(“Terjadi Error”);
}
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
private void kode() {
try {
Connection c = koneksi.getKoneksi();
Statement s = c.createStatement();

String sql = “SELECT * FROM tbl_barang ORDER by kd_barang desc”;
ResultSet r = s.executeQuery(sql);

if (r.next()) {
String nofak = r.getString(“kd_barang”).substring(1);
String AN = “” + (Integer.parseInt(nofak) + 1);
String Nol = “”;

if (AN.length() == 1) {
Nol = “000”;
} else if (AN.length() == 2) {
Nol = “00”;
} else if (AN.length() == 3) {
Nol = “0”;
} else if (AN.length() == 4) {
Nol = “”;
}

tkdbarang.setText(“B” + Nol + AN);
} else {
tkdbarang.setText(“B0001”);
}

} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}

}
@SuppressWarnings(“unchecked”)
// <editor-fold defaultstate=”collapsed” desc=”Generated Code”>
private void initComponents() {

jPanel1 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
thargajual = new javax.swing.JTextField();
tkdbarang = new javax.swing.JTextField();
tnamabarang = new javax.swing.JTextField();
tjumlahbarang = new javax.swing.JTextField();
thargabeli = new javax.swing.JTextField();
bedit = new javax.swing.JButton();
bsimpan = new javax.swing.JButton();
bhapus = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
tabelinput = new javax.swing.JTable();
jLabel7 = new javax.swing.JLabel();
tcari = new javax.swing.JTextField();
jPanel2 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
exit = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setBackground(new java.awt.Color(0, 51, 51));
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jPanel1.setBackground(new java.awt.Color(0, 51, 51));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jLabel2.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel2.setForeground(new java.awt.Color(255, 255, 255));
jLabel2.setText(“CARI”);
jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(440, 270, -1, -1));

jLabel3.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel3.setForeground(new java.awt.Color(255, 255, 255));
jLabel3.setText(“Kode Barang”);
jPanel1.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 100, -1, -1));

jLabel4.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel4.setForeground(new java.awt.Color(255, 255, 255));
jLabel4.setText(“Nama Barang”);
jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 140, -1, -1));

jLabel5.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel5.setForeground(new java.awt.Color(255, 255, 255));
jLabel5.setText(“Jumlah Barang”);
jPanel1.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 190, -1, -1));

jLabel6.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel6.setForeground(new java.awt.Color(255, 255, 255));
jLabel6.setText(“Harga Beli”);
jPanel1.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 230, -1, -1));

thargajual.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
thargajualKeyTyped(evt);
}
});
jPanel1.add(thargajual, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 260, 230, 30));

tkdbarang.setEditable(false);
tkdbarang.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tkdbarangActionPerformed(evt);
}
});
jPanel1.add(tkdbarang, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 100, 230, 30));

tnamabarang.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
tnamabarangKeyTyped(evt);
}
});
jPanel1.add(tnamabarang, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 140, 230, 30));

tjumlahbarang.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
tjumlahbarangKeyTyped(evt);
}
});
jPanel1.add(tjumlahbarang, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 180, 230, 30));

thargabeli.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
thargabeliKeyTyped(evt);
}
});
jPanel1.add(thargabeli, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 220, 230, 30));

bedit.setText(“EDIT”);
bedit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
beditActionPerformed(evt);
}
});
jPanel1.add(bedit, new org.netbeans.lib.awtextra.AbsoluteConstraints(650, 130, 100, 50));

bsimpan.setText(“SIMPAN”);
bsimpan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bsimpanActionPerformed(evt);
}
});
jPanel1.add(bsimpan, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 130, 100, 50));

bhapus.setText(“HAPUS”);
bhapus.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bhapusActionPerformed(evt);
}
});
jPanel1.add(bhapus, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 130, 100, 50));

tabelinput.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
“Title 1”, “Title 2”, “Title 3”, “Title 4”
}
));
tabelinput.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
tabelinputMouseClicked(evt);
}
});
jScrollPane1.setViewportView(tabelinput);

jPanel1.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 320, 770, 180));

jLabel7.setFont(new java.awt.Font(“Tahoma”, 0, 14)); // NOI18N
jLabel7.setForeground(new java.awt.Color(255, 255, 255));
jLabel7.setText(“Harga Jual”);
jPanel1.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 270, -1, -1));

tcari.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
tcariKeyReleased(evt);
}
});
jPanel1.add(tcari, new org.netbeans.lib.awtextra.AbsoluteConstraints(480, 260, 270, 30));

jPanel2.setBackground(new java.awt.Color(0, 102, 102));
jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jLabel1.setFont(new java.awt.Font(“Bradley Hand ITC”, 1, 24)); // NOI18N
jLabel1.setForeground(new java.awt.Color(255, 255, 255));
jLabel1.setText(“Input Barang”);
jPanel2.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 10, -1, -1));

exit.setText(“KEMBALI”);
exit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
exitActionPerformed(evt);
}
});
jPanel2.add(exit, new org.netbeans.lib.awtextra.AbsoluteConstraints(680, 20, -1, -1));

jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 770, 60));

getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));

pack();
}// </editor-fold>

private void exitActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
formmenu fb = new formmenu();
fb.setVisible(true);
this.setVisible(false);
}

private void bsimpanActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(tkdbarang.getText().equals(“”) ||tnamabarang.getText().equals(“”) || tjumlahbarang.getText().equals(“”)|| thargabeli.getText().equals(“”)|| thargajual.getText().equals(“”)){
JOptionPane.showMessageDialog(null, “LENGKAPI DATA !”, “dunia komputer”, JOptionPane.INFORMATION_MESSAGE);
}else{
String kbarang = tkdbarang.getText();
String nbarang = tnamabarang.getText();
String jbarang = tjumlahbarang.getText();
String hbeli = thargabeli.getText();
String hjual = thargajual.getText();

try {
long millis=System.currentTimeMillis();
java.sql.Date date=new java.sql.Date(millis);
System.out.println(date);
String tgl = date.toString();
Connection c = koneksi.getKoneksi();

String sql = “INSERT INTO tbl_barang VALUES (?, ?, ?, ?, ?, ?)”;

PreparedStatement p = c.prepareStatement(sql);
p.setString(1, kbarang);
p.setString(2, nbarang);
p.setString(3, jbarang);
p.setString(4, hbeli);
p.setString(5, hjual);
p.setString(6, tgl);

p.executeUpdate();
p.close();

} catch (SQLException e) {
System.out.println(“Terjadi Error”);
} finally {
loadData();
kode();

tnamabarang.setText(“”);
tjumlahbarang.setText(“”);
thargabeli.setText(“”);
thargajual.setText(“”);

JOptionPane.showMessageDialog(null, “Data berhasil tersimpan”, “dunia komputer”, JOptionPane.INFORMATION_MESSAGE);
}
}
}

private void tabelinputMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
bsimpan.setEnabled(false);
bedit.setEnabled(true);
bhapus.setEnabled(true);
int i = tabelinput.getSelectedRow();
if (i == -1) {
return;
}
String kbarang = (String) model.getValueAt(i, 0);
tkdbarang.setText(kbarang);
tkdbarang.setEnabled(false);

String nbarang = (String) model.getValueAt(i, 1);
tnamabarang.setText(nbarang);

String jumlah = (String) model.getValueAt(i, 2);
tjumlahbarang.setText(jumlah);

String hbeli = (String) model.getValueAt(i, 3);
thargabeli.setText(hbeli);

String hjual = (String) model.getValueAt(i, 4);
thargajual.setText(hjual);
}

private void bhapusActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
String sql =”delete from tbl_barang where kd_barang='”+tkdbarang.getText()+”‘”;
java.sql.Connection conn=(Connection)koneksi.getKoneksi();
java.sql.PreparedStatement pst=conn.prepareStatement(sql);
pst.execute();
JOptionPane.showMessageDialog(this, “berhasil di hapus”);
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.getMessage());
}
loadData();
tkdbarang.setText(“”);
tnamabarang.setText(“”);
tjumlahbarang.setText(“”);
thargabeli.setText(“”);
thargajual.setText(“”);
}

private void beditActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(tkdbarang.getText().equals(“”) ||tnamabarang.getText().equals(“”) || tjumlahbarang.getText().equals(“”)|| thargabeli.getText().equals(“”)|| thargajual.getText().equals(“”)){
JOptionPane.showMessageDialog(null, “LENGKAPI DATA !”, “dunia komputer”, JOptionPane.INFORMATION_MESSAGE);
}else{
int i = tabelinput.getSelectedRow();
if (i == -1) {
return;
}
String user = (String) model.getValueAt(i, 0);
try {
Connection c = koneksi.getKoneksi();
String sql = “UPDATE tbl_barang SET nama_barang = ‘” + tnamabarang.getText() + “‘, jumlah_barang='”+ tjumlahbarang.getText() + “‘, harga_beli='”+ thargabeli.getText() + “‘, harga_jual='”+ thargajual.getText() +”‘ WHERE kd_barang ='” + tkdbarang.getText() + “‘”;
PreparedStatement p = c.prepareStatement(sql);
p.executeUpdate();
p.close();
} catch (SQLException e) {
System.out.println(“Terjadi Error”);
} finally {
loadData();
tkdbarang.setText(“”);
tnamabarang.setText(“”);
tjumlahbarang.setText(“”);
thargabeli.setText(“”);
thargajual.setText(“”);
bsimpan.setEnabled(true);
JOptionPane.showMessageDialog(null, “Data berhasil diubah”, “Dunia Komputer”, JOptionPane.INFORMATION_MESSAGE);
}
}
}

private void tcariKeyReleased(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
model.getDataVector().removeAllElements();
model.fireTableDataChanged();

try {
Connection c = koneksi.getKoneksi();
Statement s = c.createStatement();

String sql = “select * from tbl_barang where kd_barang like ‘%” + tcari.getText() + “%’ or nama_barang like’%” + tcari.getText() + “%’ or jumlah_barang like'” + tcari.getText() + “%’ or harga_beli like’%” + tcari.getText() + “%’ ” + “or harga_jual like’%” + tcari.getText() + “%'”;
ResultSet r = s.executeQuery(sql);

while (r.next()) {
Object[] o = new Object[5];
o[0] = r.getString(“kd_barang”);
o[1] = r.getString(“nama_barang”);
o[2] = r.getString(“jumlah_barang”);
o[3] = r.getString(“harga_beli”);
o[4] = r.getString(“harga_jual”);

model.addRow(o);
}
r.close();
s.close();
} catch (SQLException e) {
System.out.println(“Terjadi Error”);
}
}

private void tkdbarangActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void tnamabarangKeyTyped(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
FilterHuruf(evt);
}

private void tjumlahbarangKeyTyped(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
FilterAngka(evt);
}

private void thargabeliKeyTyped(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
FilterAngka(evt);
}

private void thargajualKeyTyped(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
FilterAngka(evt);
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “>
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if (“Nimbus”.equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(forminputbarang.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(forminputbarang.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(forminputbarang.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(forminputbarang.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new forminputbarang().setVisible(true);
}
});
}

// Variables declaration – do not modify
private javax.swing.JButton bedit;
private javax.swing.JButton bhapus;
private javax.swing.JButton bsimpan;
private javax.swing.JButton exit;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable tabelinput;
private javax.swing.JTextField tcari;
private javax.swing.JTextField thargabeli;
private javax.swing.JTextField thargajual;
private javax.swing.JTextField tjumlahbarang;
private javax.swing.JTextField tkdbarang;
private javax.swing.JTextField tnamabarang;
// End of variables declaration
}

Cukup sekian dari saya mohon maaf masih belajar juga 🙂 Terimakasih