Pertemuan 7 DESAIN FORM

dokumen-dokumen yang mirip
Sistem informasi penjualan barang

Pertemuan 5 DASAR-DASAR MEMBUAT DATABASE

PENGANTAR DATABASE DENGAN DELPHI Database dengan mengagunakan Delphi menggunakan konsep seperti gambar dibawah ini :

Mengakses Database pada Delphi dengan ADO

Sistem informasi penjualan barang

IMPLEMENTASI ERD KE PROGRAM DATABASE DENGAN DELPHI MENGGUNAKAN DB ACCESS

Elga Lesmana

Memasukan Data Image Kedalam Table Paradox

MODUL IX PEMROGRAMAN DATABASE DENGAN DELPHI. Untuk praktikum ini kita menggunakan Ms. Access sebagai databasenya.

LANJUTAN APLIKASI DATABASE

PEMRORAMAN DATA BASE (FORNT END)

HANDOUT KULIAH SISTEM INFORMASI MANAJEMEN

MODUL 3 APLIKASI BASIS DATA DENGAN DELPHI

Pertemuan ke 5 Perulangan. Pemrograman 2 Dosen : Eko Budi Setiawan, S.Kom., M.T. Universitas Komputer Indonesia

Kuliah Delphi BEKERJA DENGAN DATABASE

ADO (Active-x Data Object)

Aplikasi DataBase. LATIHAN 3 Membuat Database dan Aplikasi Sederhana. ARSys Software Developed/AbdRohim 33

MEMBUAT APLIKASI DESKTOP DENGAN DATABASE ORACLE. UNIKOM (2010) Disusun Oleh : Andri Heryandi, M.T.

BAB V DASAR-DASAR MEMBUAT PROGRAM DATABASE DENGAN DELPHI

FieldName DataType FieldSize Status UserPass Text 40 Primary Key Nama_User Text 30 Password Text 10

Bekerja dengan FORM dan EVENTS

Membuat Koneksi Database Menggunakan ODBC (Open Database Conectivity)

Praktikum 14 Pemrograman Delphi 7 Imam Gunawan, M. Kom MEMBUAT LAPORAN TRANSAKSI PERSEWAAN VCD

Membuat Database Delphi

LANJUTAN APLIKASI DATABASE

PEMROGRAMAN BASIS DATA (DATABASE PROGRAMING)

BAB VI MENGGUNAKAN DATABASE DESKTOP

Pengenalan IDE Delphi. 1 By : Eko Budi Setiawan

BAB IV IMPLEMENTASI DAN PENGUJIAN. pengujian. Pada tahapan implementasi ini terdapat dua cakupan yang dilakukan

DATABASE. Visual Data Manager

Modul Dasar Pemrograman Basis Data pada C++ Builder Materi : Komponen Basisdata pada C++ Builder & penggunaanya

Aplikasi CRUD dengan Visual Basic 2012 [APLIKASI CRUD DENGAN VISUAL BASIC 2012 & MYSQL] September 18, & MySQL. Bahtiar Imran

Identitas dosen POKOK BAHASAN. mendemonstrasikan tentang membuat project aplikasi dengan database access dengan benar (C3) Suherman,, ST Address

DATABASE. Visual Data Manager

Cara menghubungkan / mengkoneksikan database dinamis Microsoft Access dengan delphi menggunakkan ADOConnection dan ADOTable pada Delphi 7

MEMBUAT PROGRAM DENGAN DATABASE

Cara menghubungkan / mengkoneksikan database dinamis Microsoft Access dengan delphi menggunakkan ADOConnection dan ADOQuerypada Delphi 7

BAB II Pemrograman (Percabangan)

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB XII MENGGUNAKAN FORM & REPORT

[Document title] Abdullah Hafizh [Course title] [Date] Abdullah Hafizh InterSoft Rekayasa Perangkat Lunak SMKN 10 Jakarta 0

Modul 3. A. Database Desktop

Tutorial Lazarus Pemrograman Pascal Console, Visual dan Database Husni, husni.trunojoyo.ac.id, komputasi.wordpress.com

URAIAN POKOK PERKULIAHAN

PENYIMPANAN DATA GAMBAR PADA BASIS DATA INTERBASE DENGAN BAHASA PEMROGRAMAN DELPHI 6 Kusrini

Menampilkan Data. LATIHAN 1 Menampilkan Data. ARSys Software Developed/AbdRohim 9

Gambar Contoh Sebuah Tabel

Modul V Form Enty Data Tabel Tabel Transaksi

Universitas Komputer Indonesia. Pemrograman dengan C++ Builder

Gambar Desain Form Program Aplikasi. Tabel Mengganti Properti Objek

DISUSUN OLEH : : Friska Rosalina NIM :

Struktur Perulangan. Sesi. 3.1 Pernyataan while do. 3.2 Pernyataan repeat... until

PRAKTIKUM 3 BERBAGAI MACAM TIPE DATA (Integer dan Real)

1. Kompetensi Memahami berbagai teknologi pemrograman basis data, khususnya MySQL, pada Visual Basic 6.0.

UNTUK MEMBUAT DESAIN SEPERTI DI ATAS IKUTI PETUNJUK TABEL DI BAWAH INI : NO

Citra dalam Delphi. Setelah mempelajari materi ini, mahasiswa diharapkan mampu:

Pemrograman Database dengan Remote Data Control. Tessy Badriyah, SKom,MT

MEMBUAT LAPORAN (DATA REPORT)

Algoritma Pemrograman A

Latihan 5. Mengenal Tipe Data Di Delphi 7

URAIAN POKOK PERKULIAHAN

I. INTEGRATED DEVELOPMENT ENVIRONMENT

PRAKTIKUM 3 BERBAGAI MACAM TIPE DATA

Mengakses database Microsoft Access dengan Delphi 7.0

Minggu ke : 4 Penyusun : Dian Usdiyana Rini Marwati Materi : 4. Pernyataan Kondisional 4.1 If then. 4.2 If. then.else..

Mengakses database Microsoft Access dengan Delphi 7.0

Modul Database dan Pengaksesannya dari FORM #1

Dasar-Dasar Pemrograman Dengan Delphi 7. Janner Simarmata

BAB III ANALISIS DAN PERANCANGAN

BAB IV PERANCANGAN. Gambar diatas adalah tampilang awal ketika ingin memulai project baru. Pilih Standart EXE untuk memulai project.

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

Gambar 4.1 Gambar Use Case Diagram

Membuat Proteksi File Excel Tingkat Tinggi dengan Kode VBA. By. Samsudin_Batolay

LAMPIRAN. Universitas Sumatera Utara

Albertus Reinandang. Lisensi Dokumen:

PRAKTIKUM 1 2 MENGENAL DELPHI

BAB IV HASIL DAN PEMBAHASAN

Data Access Object Objektif:

Modul 1. A. Bagian-Bagian Utama Delphi. Menu Utama. Toolbar / Speedbar ( kiri Delphi 5, kanan Delphi 7) Component Palette

BAB IV PERANCANGAN SISTEM

PERCOBAAN 4 GRAFIKA KOMPUTER DENGAN DELPHI

Perkuliahan Pemrograman II (Teori / Praktikum) Minggu 6

BAB IV IMPLEMENTASI DAN PENGUJIAN

STRUCTURED QUERY LANGUAGE (SQL)

BAB IV HASIL DAN UJI COBA

BUAT STRUKTUR TABEL DENGAN DATABASE ACCESS Nama Data Base : DBQuery.Mdb

Minggu ke : 7. Bentuk umum : While <kondisi> do <Pernyataan>

URAIAN POKOK PERKULIAHAN. (1) Nilai akar-akar, x 1 dan x 2, dapat ditentukan dengan menggunakan rumus:

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET (KOMUNIKASI DATA)

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

ALGORITMA PENCARIAN. c. Hasil pencarian berupa nilai Boolean yang menyatakan status hasil pencarian.

BAB II LANDASAN TEORI Konsep Dasar Sistem Informasi Manajemen (SIM) umum semua manajer dalam organisasi atau dalam tingkatan manajemen.

BAB IX MENGENAL MS.ACCESS 2007

BAB IV HASIL DAN UJI COBA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET KOMUNIKASI DATA

Modul Isikan di caption dari kotak yang ditandai garis File lalu tekan enter, lalu isi lagi dikanan dengan Menu

Sistem Distribusi Data Melalui COM+ Dengan Visual Basic

BAB IV HASIL DAN PEMBAHASAN

Aplikasi Login Dengan Database dan Tanpa Database Pada Visual Basic 2010

BAB IV IMPLEMENTASI DAN PENGUJIAN. dilanjutkan dengan pengujian terhadap aplikasi. Kebutuhan perangkat pendukung dalam sistem ini terdiri dari :

Transkripsi:

DIKTAT MATA KULIAH PEMROGRAMAN II Pertemuan 7 DESAIN FORM IF Pengantar Desain Form Dalam melakukan perancangan dan design tampilan, Anda diharuskan membuat tampilan form yang tidak membosankan dan harus user frily, artinya user siapa saja dapat dengan mudah menggunakan program anda. Untuk itulah, sebaiknya anda mesain form yang dapat digunakan dengan mudah dan menarik dari sisi tampilannya. Untuk itulah, bab ini akan membahas caranya bagaimana membuat tampilan form yang menarik di delphi. Untuk membuat tampilan form yang menarik, maka anda membutuhkan Software pengolah gambar, seperti Corel, Adobe Photoshop atau Ms.Paint dari Microsoft. Karena gambar yang anda buat tersebut akan dijadikan sebagai tampilan Form di program yang anda buat. Dalam kasus ini, kita akan membuat program database tanaman, dimana didalamnya terdapat Form Login, Form Data Tanaman, dan Form Tambah Data Tanaman. Langkah-Langkah Desain Form Silahkan anda tentukan siri desain yang akan anda buat menggunakan Photosop. 1. Desain Form Login, maka gambar yang dibuat seperti berikut ini : Yang harus anda perhatikan adalah, warna background gambar anda boleh bebas tetapi harus disesuaikan dengan warna transparan di delphi serta type gambar yang disimpan formatnya harus *.bmp by Eko Budi Setiawan, S.Kom., M.T Halaman - 1

2. Desain Form Data Tanaman, maka gambar yang dibuat seperti berikut ini : Yang harus anda perhatikan adalah, warna background gambar anda boleh bebas tetapi harus disesuaikan dengan warna transparan di delphi serta type gambar yang disimpan formatnya harus *.bmp 3. Desain Form Tambah Data Tanaman, maka gambar yang dibuat seperti berikut ini : Yang harus anda perhatikan adalah, warna background gambar anda boleh bebas tetapi harus disesuaikan dengan warna transparan di delphi serta type gambar yang disimpan formatnya harus *.bmp 4. Jangan lupa untuk membuat tombol untuk Close dan Minimize by Eko Budi Setiawan, S.Kom., M.T Halaman - 2

Pembuatan Database Untuk membuat program Database Tanaman ini, maka kita akan membuat 2 buah tabel, yaitu tabel admin.db dan tabel tanaman.db. Untuk itu silahkan anda buat menggunakan Database Desktop seperti pertemuan yang sebelumnya. 1. Struktur Tabel admin.db Tabel admin.db ini digunakan untuk menyimpan informasi Login ke porgam. Untuk struktur tabel admin.db silahkan anda buat seperti dibawah ini Kemudian silahkan anda isi data untuk masing-masing Field Name tersebut, misalkan seperti berikut ini : 2. Struktur Tabel tanaman.db Tabel tanaman.db ini digunakan untuk menyimpan informasi Data Tanaman. Untuk struktur tabel tanaman.db silahkan anda buat sesuai dibawah ini Kemudian kosongkan saja data untuk Tabel tanaman.db by Eko Budi Setiawan, S.Kom., M.T Halaman - 3

Pembuatan Alias & Secondary Index Langkah selanjutnya setelah Anda membuat tabel admin.db dan tanaman.db, adalah membuatkan alias untuk kedua tabel tersebut. Langkah-langkahnya di Database Desktop, kemudian klik Tools Alias Manager, kemudian isikan nama aliasnya design, dan tentukan path database ke lokasi tabel yang sudah anda buat sebelumnya. Setelah dibuatkan Alias, langkah selanjutnya adalah membuatkan Secondary index untuk field Nama_Tanaman, karena akan digunakan untuk pencarian data tanaman. Beri nama idxnama_tanaman Memulai Pembuatan Program Adapun langkah-langkah dalam pembuatan programnya adalah sebagai berikut : 1. Form Login Eusername : TEdit Label Epass : Tedit SPDBOK : TSpeedButton SPDBatal : TSpeedButton Image : Timage by Eko Budi Setiawan, S.Kom., M.T Halaman - 4

Properti untuk Form Login adalah sebagai berikut : BorderStyle bsnone Name Image2 Color clblue Picture (disesuaikan) Name F_Login Strecth True Position podesktopcenter Transparent False TransparentColor True TransparentColor clblue Kemudian source code untuk F_Login adalah sebagai berikut procedure TF_Login.SPDBBatalClick(Ser: TObject); Application.Terminate; procedure TF_Login.SPDBOKClick(Ser: TObject); var Label A; if (EUsername.Text='')or(EPass.Text='')Then Application.MessageBox('Nama dan Password Harus DIISI...!!!','Konfirmasi',MB_OK OR MB_ICONERROR); if EUsername.Text='' then EUsername.SetFocus EPass.SetFocus; if (EUsername.Text='admin')Then if (EPass.Text='admin') then F_Login.Hide; F_Tanaman.L_Admin.Caption:='Admin'; F_Tanaman.Show; Application.MessageBox('Maaf, Pasword yang anda masukan Tidak Cocok..!!','Konfirmasi',MB_OK OR MB_ICONERROR); EPass.SetFocus; by Eko Budi Setiawan, S.Kom., M.T Halaman - 5

DM.T_Login.First; A: if EUsername.Text=DM.T_LoginUsername.Value then if EPass.Text=DM.T_LoginPassword.Value then F_Login.Hide; F_Tanaman.L_Admin.Caption:=DM.T_LoginNama_Admin.Value; F_Tanaman.Show; Application.MessageBox('Maaf, Pasword yang anda masukan Tidak Cocok..!!','Konfirmasi',MB_OK OR MB_ICONERROR); EPass.SetFocus; if DM.T_Login.Eof then Application.MessageBox('Maaf, Nama yang anda masukan tidak terdaftar dalam Database kami..!!','konfirmasi',mb_iconerror); EUsername.SetFocus; DM.T_Login.Next; Goto A; procedure TF_Login.EUsernameKeyPress(Ser: TObject; var Key: Char); label A; if key=#13 then if (EUsername.Text='') then Application.MessageBox('Nama dan Password Harus DIISI...!!!','Konfirmasi',MB_OK OR MB_ICONERROR); if EUsername.Text='' then EUsername.SetFocus EPass.SetFocus; by Eko Budi Setiawan, S.Kom., M.T Halaman - 6

if (EUsername.Text='admin')Then EUsername.SetFocus; DM.T_Login.First; A: if EUsername.Text=DM.T_LoginUsername.Value then EPass.SetFocus; if DM.T_Login.Eof then Application.MessageBox('Maaf, username yang anda masukan tidak terdaftar..!!','konfirmasi',mb_iconerror); EUsername.SetFocus; DM.T_Login.Next; Goto A; procedure TF_Login.EPassKeyPress(Ser: TObject; var Key: Char); Label A; if key=#13 then if (EUsername.Text='')or(EPass.Text='')Then Application.MessageBox('Nama dan Password Harus DIISI...!!!','Konfirmasi',MB_OK OR MB_ICONERROR); if EUsername.Text='' then EUsername.SetFocus EPass.SetFocus; if (EUsername.Text='admin')Then if (EPass.Text='admin') then by Eko Budi Setiawan, S.Kom., M.T Halaman - 7

F_Login.Hide; F_Tanaman.L_Admin.Caption:='Admin'; F_Tanaman.Show; Application.MessageBox('Maaf, Pasword yang anda masukan Tidak Cocok..!!','Konfirmasi',MB_OK OR MB_ICONERROR); EPass.SetFocus; DM.T_Login.First; A: if EUsername.Text=DM.T_LoginUsername.Value then if EPass.Text=DM.T_LoginPassword.Value then F_Login.Hide; F_Tanaman.L_Admin.Caption:=DM.T_LoginNama_Admin.Value; F_Tanaman.Show; Application.MessageBox('Maaf, Pasword yang anda masukan Tidak Cocok..!!','Konfirmasi',MB_OK OR MB_ICONERROR); EPass.SetFocus; if DM.T_Login.Eof then Application.MessageBox('Maaf, username yang anda masukan tidak terdaftar..!!','konfirmasi',mb_iconerror); EUsername.SetFocus; DM.T_Login.Next; Goto A;. by Eko Budi Setiawan, S.Kom., M.T Halaman - 8

2. Klik File New Data Module Data Module ini digunakan untuk menyimpan komponen Table dan Datasource. Sebaiknya Anda gunakan Data Module ini sehingga lebih mudah dan struktur program lebih terstruktur. Kemudian Anda tempatkan Komponen Table dan Datasource seperti berikut ini : Properti T_Login Properti T_Tanaman Active True Active True DatabaseName Design DatabaseName Design TableName Admin.DB TableName Tanaman.DB Name T_Login Name T_Tanaman Properti DS_Login Properti DS_Tanaman Name DS_Login Name DS_Tanaman Dataset T_Login Dataset T_Tanaman by Eko Budi Setiawan, S.Kom., M.T Halaman - 9

3. Form Tanaman DBImage : TDBImage L_Admin : TLabel DBGrid1 : TDBGrid Edit_cari : TEdit Image_cari : TImage Image : Timage Pict : (disesuaikan dgn path) Strecth : true Transparent : False SpeedButton Properties Value BorderStyle bsnone Color clblue Name F_Tanaman Position podesktopcenter TransparentColor True TransparentColor clblue Properti DBImage Properti DBGrid1 Name DBImage1 Name DBGrid1 Datasource DM.DS_Tanaman Datasource DM.DS_Tanaman DataField Name Gambar_Tanaman T_Login by Eko Budi Setiawan, S.Kom., M.T Halaman - 10

Properti DBText2 Properti DBText1 Name DBText2 Name DBText1 Datasource DM.DS_Tanaman Datasource DM.DS_Tanaman DataField Kode_Tanaman DataField Nama_Tanaman Properti SpeedButton Properties Transparent True Value Kemudian source code untuk F_Tanaman adalah sebagai berikut procedure TF_Tanaman.SPDBhomeClick(Ser: TObject); F_Login.Show; F_Tanaman.Close; procedure TF_Tanaman.Image_CloseClick(Ser: TObject); if Application.MessageBox('Apakah anda yakin untuk keluar dari aplikasi?','konfirmasi',mb_yesno OR MB_ICONQUESTION)=id_yes then Application.Terminate Focused; procedure TF_Tanaman.Image_MinimizeClick(Ser: TObject); Application.Minimize; procedure TF_Tanaman.SPDBTambah_TanamanClick(Ser: TObject); F_Tanaman.Close; F_TambahTanaman.Show; procedure TF_Tanaman.SPDBHapusClick(Ser: TObject); var flag : string; flag:='apakah anda yakin data : '+#13+#13+ 'Kode Tanaman : '+DM.T_TanamanKode_Tanaman.Value+#13+ 'Nama Tanaman : '+DM.T_TanamanNama_Tanaman.Value+#13+#13+ by Eko Budi Setiawan, S.Kom., M.T Halaman - 11

'Akan dihapus?'; if MessageDlg(flag,mtConfirmation,[MbYes,MbNo],0)=mrYes then DM.T_Tanaman.Delete; procedure TF_Tanaman.Image_cariClick(Ser: TObject); var ketemu:boolean; DM.T_tanaman.IndexName:='idxnama_tanaman'; ketemu:=dm.t_tanaman.findkey ([Edit_cari.Text]); if (ketemu=false) then showmessage('data nama tanaman tersebut tidak ditemukan');. 4. Form F_TambahTanaman Ekode_Tanaman : TEdit ENama_Tanaman : TEdit DBT_KodeTanaman: TDBText OpenPictureDialog1 SPDBisigambar : TSpeedButton SPDTambah_Tanaman : TSpeedButton Image_Tanaman : TImage Memo_Tanaman : TMemo Image : Timage Pict : (disesuaikan dengan path) Strecth : true Transparent : False by Eko Budi Setiawan, S.Kom., M.T Halaman - 12

Properties Value BorderStyle bsnone Color clblue Name F_TambahTanaman Position podesktopcenter TransparentColor True TransparentColor clblue Properti Image_Tanaman Properti Memo_Tanaman Name Image_Tanaman Name Memo_tanaman Strecth True ScrollBars ssvertical Properti Ekode_Tanaman Properti ENama_Tanaman Name Ekode_tanaman Name ENama_tanaman Text Text Properti DBT_KodeTanaman Properti OpenPictureDialog1 Name DBT_KodeTanaman Name OpenPictureDialog1 DataSource DM.DS_Tanaman Filter Bitmaps DataField Kode_Tanaman Properti SPDIsiGambar Properti SPDTambah_Tanaman Name SPDIsiGambar Name SPDTambah_Tanaman Transparent True Transparent True by Eko Budi Setiawan, S.Kom., M.T Halaman - 13

Kemudian source code untuk F_TambahTanaman adalah sebagai berikut procedure TF_TambahTanaman.SPDBhomeClick(Ser: TObject); F_TambahTanaman.Close; F_Login.Show; procedure TF_TambahTanaman.Image_MinimizeClick(Ser: TObject); Application.Minimize; procedure TF_TambahTanaman.Image_CloseClick(Ser: TObject); if Application.MessageBox('Apakah anda yakin untuk keluar dari aplikasi?','konfirmasi',mb_yesno OR MB_ICONQUESTION)=id_yes then Application.Terminate Focused; procedure TF_TambahTanaman.SPDBisigambarClick(Ser: TObject); if openpicturedialog1.execute=true then statusgambar:=true; Image_Tanaman.Picture.LoadFromFile(openpicturedialog1.FileName); statusgambar:=false; procedure TF_TambahTanaman.Ekode_tanamanKeyPress(Ser: TObject; var Key: Char); if not (Key in ['0'..'9',#8]) then Key := #0; procedure TF_TambahTanaman.FormShow(Ser: TObject); var dir:string; ekode_tanaman.clear; enama_tanaman.clear; memo_tanaman.clear; Dir := ExtractFilePath(Application.ExeName); Image_Tanaman.Picture.LoadFromFile(Dir+'\gambar\no_image.bmp'); DM.T_Tanaman.Last; by Eko Budi Setiawan, S.Kom., M.T Halaman - 14

procedure TF_TambahTanaman.SPDBtambah_tanamanClick(Ser: TObject); var adakode:boolean; bantukode:string; adanama:boolean; bantunama:string; dir:string; if (EKode_tanaman.Text='') or (ENama_tanaman.Text='') or (Memo_tanaman.Text='') then Application.MessageBox('Maaf Isian Data Tanaman Tidak Boleh Kosong..!!','Konfirmasi',MB_OK or MB_ICONWARNING) Try bantukode:='t'+ekode_tanaman.text; adakode:=dm.t_tanaman.findkey([bantukode]); if adakode then Application.MessageBox('Maaf.. Kode Tanaman Sudah ada'+#13+'silahkan anda isi kode tanaman yang baru','konfirmasi',mb_ok or MB_ICONERROR) DM.T_tanaman.IndexName:='idxnama_tanaman'; bantunama:=lowercase(enama_tanaman.text); adanama:=dm.t_tanaman.findkey([bantunama]); if adanama then Application.MessageBox('Maaf.. Nama Tanaman Sudah ada'+#13+'silahkan anda isi nama tanaman yang baru','konfirmasi',mb_ok or MB_ICONERROR) dir := ExtractFilePath(Application.ExeName); DM.T_tanaman.App DM.T_TanamanKode_Tanaman.Value:=bantukode; DM.T_TanamanNama_Tanaman.Value:=bantunama; DM.T_TanamanKet_Tanaman.Value:=memo_tanaman.Text; if statusgambar=true then DM.T_TanamanGambar_Tanaman.LoadFromFile(openpicturedialog1.FileName) DM.T_TanamanGambar_Tanaman.LoadFromFile(dir+'gambar\no_image.bmp'); DM.T_tanaman.Post; Application.MessageBox('Data tanaman berhasil disimpan..!!','konfirmasi',mb_ok or MB_ICONINFORMATION); DM.T_tanaman.IndexName:=''; Except Application.MessageBox('Maaf.. Permintaan anda tidak dapat dilaksakanan','konfirmasi',mb_ok or MB_ICONERROR);. by Eko Budi Setiawan, S.Kom., M.T Halaman - 15

Hasil Running Program 1. Form Login 2. Form Data Tanaman 3. Form Tambah Data Tanaman by Eko Budi Setiawan, S.Kom., M.T Halaman - 16