MAKALAH DATABASE PENJUALAN LAPTOP

dokumen-dokumen yang mirip
Sistem informasi penjualan barang

Sistem informasi penjualan barang

Kuliah Delphi BEKERJA DENGAN DATABASE

PANDUAN PRAKTIKUM PEMROGRAMAN BASIS DATA. Oleh: Wagito

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

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

Pertemuan 5 DASAR-DASAR MEMBUAT DATABASE

Pertemuan 7 DESAIN FORM

BAB XII PROGRAM PENJUALAN SEDERHANA

BAB V DASAR-DASAR MEMBUAT PROGRAM DATABASE DENGAN DELPHI

Mengakses Database pada Delphi dengan ADO

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

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

HANDOUT KULIAH SISTEM INFORMASI MANAJEMEN

Memasukan Data Image Kedalam Table Paradox

DATABASE. Visual Data Manager

Bekerja dengan FORM dan EVENTS

Universitas Komputer Indonesia. Pemrograman dengan C++ Builder

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

BAB VI MENGGUNAKAN DATABASE DESKTOP

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

MEMBUAT PROGRAM DENGAN DATABASE

MODUL 3 APLIKASI BASIS DATA DENGAN DELPHI

LANJUTAN APLIKASI DATABASE

Modul 3. A. Database Desktop

PEMROGRAMAN BASIS DATA (DATABASE PROGRAMING)

IMPLEMENTASI ERD KE PROGRAM DATABASE DENGAN DELPHI MENGGUNAKAN DB ACCESS

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

DATABASE. Visual Data Manager

PETUNJUK PENGGUNAAN APLIKASI CAFÉ VERSI 1.0

BAB IV IMPLEMENTASI DAN PENGUJIAN

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

BAB V PENGUJIAN DAN IMPLEMENTASI SITEM. metode pengujian dan pelaksanaan pengujian.

BAB III PEMBAHASAN. Analisis merupakan suatu tahap untuk memperoleh kesimpulan persoalan

MODUL 12 LAPORAN DAN CHART

Algoritma Pemrograman A

I. INTEGRATED DEVELOPMENT ENVIRONMENT

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

URAIAN POKOK PERKULIAHAN

Praktikum Pemrograman 1. Mengenal Delphi

Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle.

BAB IV IMPLEMENTASI DAN EVALUASI. mempersiapkan kebutuhan system (baik hardware maupun software), persiapan

Modul V Form Enty Data Tabel Tabel Transaksi

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

Sistem Informasi Pengadaan ATK ( Alat Tulis Kantor )

Membuat Koneksi Database Menggunakan ODBC (Open Database Conectivity)

MODUL 1 IDE (Integrated Development Environment )

BAB III PEMBAHASAN sampai 30 Agustus 2009 di Pemerintahan Desa Setianegara Kecamatan

Modul Database dan Pengaksesannya dari FORM #1

Membuat Database Delphi

LANJUTAN APLIKASI DATABASE

Darmawan Satyananda Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Negeri Malang 2008

Modul Lalu pada komponen QuickRep akan tampil seperti gambar berikut.

BAB IV HASIL DAN UJI COBA

BAB IV IMPLEMENTASI DAN PENGUJIAN

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

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

BAB V IMPLEMENTASI DAN PENGUJIAN

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

BAB V PENGUJIAN SISTEM DAN IMPLEMENTASI. komponen sistem yang diimplementasikan dan mengetahui kelemahan dari

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

BAB III PEMBAHASAN. Kerja Praktek yang penulis lakukan dilaksanakan pada tanggal 1

BAB V PENGUJIAN DAN IMPLEMENTASI SISTEM. juga mengetahui kelemahan dari perangkat lunak. Tujuan dari pengujian ini

BAB II Pemrograman (Percabangan)

BAB V PENGUJIAN DAN IMPLEMENTASI SISTEM. Pengujian merupakan bagian yang penting dalam siklus pembangunan

Sistem Informasi Pendistribusian Penjualan Velg

Gambar Contoh Sebuah Tabel

BAB III ANALISA DAN PEMBAHASAN MASALAH

MEMBUAT LAPORAN (DATA REPORT)

PEMROGRAMAN DASAR XI TKJ SMK NEGERI 1 KUPANG

Dasar-Dasar Pemrograman Dengan Delphi 7. Janner Simarmata

BAB IV PERANCANGAN SISTEM

Spesifikasi: Ukuran: 14x21 cm Tebal: 68 hlm Harga: Rp Terbit pertama: Februari 2005 Sinopsis singkat:

MICROSOFT ACCESS. Tombol Office/menu Tittle bar Close.

Database Master-Detail. LATIHAN 4 Database Master-Detail. ARSys Software Developed/AbdRohim 43

BASIS DATA dan KOMPONEN BASIS DATA

Bab I Pengenalan Visual BASIC

BAB IV IMPLEMENTASI DAN PENGUJIAN

ADO (Active-x Data Object)

PRAKTIKUM 1 2 MENGENAL DELPHI

BAB IV HASIL DAN UJI COBA

Struktur Percabangan. Sesi. 2.1 Statement if

BAB IV DESKRIPSI KERJA PRAKTEK. identifikasi masalah. Adapun penjelasannya sebagai berikut: beberapa cara yang telah dilakukan, antara lain:

Perancangan Pemrograman Tabel Master Product

BAB IV IMPLEMENTASI DAN PEMBAHASAN. suatu sistem yang sedang berjalan. Adapun kegiatan-kegiatan yang perlu

BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM. sudah ditentukan. Tujuan implementasi adalah untuk mengkonfirmasi modul program

Gambar 4.1 Gambar Use Case Diagram

Pengenalan IDE Delphi. 1 By : Eko Budi Setiawan

BAB IV ANALISA DAN PERANCANGAN SISTEM

BAB 4 IMPLEMENTASI DAN EVALUASI. sistem aplikasi basis data pada CV. Lumbung Rejeki yaitu : Monitor : SVGA 17. : Optical Mouse.

BAB V PENGUJIAN SISTEM DAN IMPLEMENTASI. Pengujian program adalah pengujian dimana user memasukan data ke

Sebelum kita membahas tentang Microsoft Access ada baiknya jika kita terlebih dahulu mengetahui apa yang dimaksud dengan database.

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

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

BAB 3 PERANCANGAN PROGRAM APLIKASI

MANUAL PENGOPERASIAN JSTOCKINVENTORY Twitter

Modul Praktikum Basis Data 11 Membuat Menu dengan Form

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB IV HASIL DAN UJI COBA

Sistem Informasi Persediaan Barang Jadi & Setengah Jadi

Transkripsi:

MAKALAH DATABASE PENJUALAN LAPTOP Diajukan Untuk Memenuhi Tugas Besa Mata Kuliah Praktikum Pemrograman II Dosen : Sufa atin Disusun Oleh : Rizky Badai Ilhami 10108151 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS KOMPUTER INDONESIA BANDUNG 2010

ABSTRAKSI Aplikasi ini merupakan aplikasi pengolahan data penjualan laptop yang bertujuan untuk menampilkan data laptop yang telah diinputkan, data yang dihasilkan berupa informasi tentang spesifikasi, harga, dan gambar laptop berdasarkan vendor tertentu. Disini hak akses penuh debirikan kepada administrator, yang bertujuan untuk memasukkan, menyunting dan menghapus data yang telah disediakan ataupun data baru. Selain administrator, user biasa yang belum login hanya dapat melihat form programmer dan form deskripsi program saja. Tujuan dari pembuatan aplikasi ini adalah untuk memudahkan suatu toko dalam mengelola dan memantau penjualan laptop yang ada. Membuat laporan penjualan laptop dan menampilkan stok laptop yang tersedia dan akan ter-update secara otomatis ketika terjadi pembelian laptop. Semoga aplikasi ini dapat berguna bagi kita semua.. Amin 1

KATA PENGANTAR Puji syukur saya panjatkan kehadirat Allah SWT, karena berkat rahmat dan seijin-nya tugas akhir mata kuliah Praktikum Pemograman II dapat terselesaikan dengan tepat waktu, dengan mengambil judul topik DATABASE PENJUALAN LAPTOP. Adapun tujuan dari pembuatan tugas ini, untuk memenuhi salah satu tugas mata kuliah Praktikum Pemograman II. Saya juga berterima kasih kepada semua pihak terutama atas bimbingan Ibu Sufa atin selaku dosen mata kuliah Praktikum Pemograman II dan rekan-rekan yang telah memberikan kontribusi baik yang langsung maupun tidak langsung, sehingga tugas ini dapat terselesaikan. Penulis menyadari bahwa tugas yang dibuat masih jauh dari sempurna, oleh sebab itu saran dan kritik yang sifatnya membangun senantiasa kami nantikan. Demikian tugas ini saya buat, kiranya bisa menjadi sarana pembelajaran untuk mahasiswa, terutama yang menyangkut Praktikum Pemograman II. Bandung, Juni 2010 Penulis 2

DAFTAR ISI ABSTRAKSI...i KATA PENGANTAR...ii DAFTAR ISI...iii BAB I PENDAHULUAN...1 1.1 Latar Belakang Masalah...1 1.2 Identifikasi Masalah...1 1.3 Batasan Masalah...2 1.4 Maksud dantujuan...2 1.5 Sistematika Penulisan...2 BAB II STRUKTUR DATABASE...3 2.1 Database Penjualan Laptop...3 2.2 Spesifikasi Tabel...3 2.3 Perancangan Tabel...4 BAB III TAMPILAN DATABASE LAPTOP...8 3.1 Tampilan Komponen...8 3.2 Pembuatan Laporan Penjualan Laptop...26 BAB IV KESIMPULAN DAN SARAN...29 4.1 Kesimpulan...29 4.2 Saran...29 Kontribusi Masing-masing Anggota:...30 Lampiran...i 3

I PENDAHULUAN I.1 Latar Belakang Masalah Adapun pengertian dari Database adalah suatu kumpulan data yang saling berhubung yang disimpan secara bersama-sama pada suatu media tanpa mengatap satu sama lain atau tidak perlu suatu kerangkapan data dengan cara tertentu sehingga mudah untuk digunakan atau ditampilkan kembali. Database dapat dibayangkan sebagai lemari arsip, jika kita memiliki sebuah lemari arsip dan bertugas untuk mengelolanya, maka kemungkinan besar kita melakukan hal-hal seperti: menginputkan data, mengedit data, dan menyimpannya dalam media tersebut yaitu DataBase. Dimana Database tersebut dapat menyimpan data-data yang user masukan. Tujuan utama dari buatnya Database adalah kemudahan dan kecepatan dalam pengambilan data seperti keakuratan, keamanan, dan kelengkapan karena dalam DataBase sangat terjamin, keamanannyapun dapat terjamin. Aplikasi Database menghasilkan sebuah kehidupan lain yang sama mirip dengan dunia sebenarnya. Interaksi antara media elektronis dengan kemajuan teknologi sekarang. Pada tugas ini akan dipaparkan rancang bangun aplikasi Database yang akan difokuskan pada kemudahan dalam mengelola data. Dalam hal ini aplikasi Database dibuat menggunakan Borland Delphi 7.0 I.2 Identifikasi Masalah Dari latar belakang masalah yang ada maka penulis membahas permasalahan yang ada sebagai berikut : Kemudahan dalam mengelola data media elektronis. Seberapa bermanfaat aplikasi ini dalam kehidupan sehari-hari 1

Masih adanya kekurangan aplikasi DataBase yang dibuat. I.3 Batasan Masalah Dalam pembuatan database yang penulis buat maka penulis memberi batasan dalam Aplikasi DataBase seperti: Admin adalah user yang diberi hak penuh untuk memanipulasi data, dengan syarat harus login terlebih dahulu. Menambahkan data laptop yang dijual. Menghapus data yang ada. Melihat stok barang dan harga. Membuat laporan penjualan. I.4 Maksud dantujuan Maksud dari penulisan tugas ini adalah sebagai salah satu syarat kelulusan mata kuliah Praktikum Pemograman II, sedangkan yang menjadi tujuan dari penulisan tugas ini adalah mengimplementasikan mengenai cara mudah dalam mengelola data di Database. I.5 Sistematika Penulisan Sistematika penyusunan tugas ini dibagi dalam beberapa bab dengan pokok pembahasan. Sistematika secara umum adalah sebagai berikut : BAB I Pendahuluan Bab ini membahas tentang latar belakang masalah, identifikasi masalah, batasan masalah, maksud dan tujuan, dan sistematika penulisan. BAB II Struktur DataBase Bab ini akan membahas mengenai penjelasan Database Laptop yang dibuat dalam progam Delphi7 beserta menampilkan capture dari masing-masing tabel (paradox7). BAB III Tampilan DataBase Handphone Bab ini menampilkan perancangan Datasase yang dibuat. BAB IV Kesimpulan dan Saran Bab ini terdiri dari kesimpulan yang berisikan kesimpulan dari pembahasan yang dipaparkan dari keseluruhan tulisan. 2

BAB II STRUKTUR DATABASE II.1 Database Penjualan Laptop Dalam tugas Database yang kami buat, kami mengambil topik Database penjualan laptop pada suatu toko. Dimana penulis membuat Database ini untuk memudahkan suatu toko dalam mengelola penjualan laptop yang ada. Spesifikasi software Database penjualan Laptop : Dapat mengelola data Merk, Laptop, Pelanggan dan Transaksi Penjualan. Untuk setiap pengolahan data harus tersedia fasilitas Penambahan, Pengeditan, Penghapusan dan Pencarian data kecuali pada Transaksi Penjualan tidak ada Penghapusan. Dapat melakukan operasi penjualan laptop. Dapat mencetak Laporan Merk, laptop, Pelanggan dan Penjualan baik keseluruhan atau berdasarkan kriteria tertentu. Berdasarkan spesifikasi software, dapat disimpulkan bahwa sistem yang akan dibangun terdiri dari data berikut : a) Data Merk b) Data Laptop c) Data Pelanggan d) Data Penjualan II.2 Spesifikasi Tabel Spesifikasi untuk data Merk : Kode Merk harus unik tidak boleh sama Data yang di simpan Nama Merk Dapat melakukan pencarian pada field Kode dan Nama Merk. Spesifikasi untuk data laptop : Kode barang harus dapat dimasukan dengan menggunakan pengkodean Barcode Data yang di simpan Seri, Nama Laptop, Jenis, Harga Beli, Harga Jual, Stock, Stock Minimal, Spesifikasi Laptop dan Gambar 3

Harga dibedakan menjadi HargaBeli dan HargaJual Dapat melakukan pencarian pada field Kode, Seri dan Nama. Spesifikasi untuk data Pelanggan : Kode Pelanggan harus unik Data yang di simpan Nama Pelanggan, Alamat, Kota, No Telepon dan EMail. Dapat melakukan pencarian pada field Kode, Nama Kota dan email. Spesifikasi untuk data Penjualan : Sebuah faktur memiliki nomor faktur berupa angka yang terus bertambah (autoincrement) Sebuah faktur boleh terdiri dari lebih dari 1 item penjualan. Ini menandakan bahwa kita memiliki 2 tabel yaitu tabel penjualan (Faktur) dan tabel Isi Faktur (Detail Penjualan) yang mempunyai relasi One-To- Many (satu ke banyak) Data yang disimpan dalam faktur(tabel penjualan) terdiri dari kode pelanggan, tanggal dan waktu transaksi, total pembayaran. Data yang disimpan dalam item faktur (Detail Penjualan) adalah data barang, harga, quantity. Pada proses pengolahan data penjualan, hal yang harus diperhatikan ketika membuat transaksi penjualan baru. Disarankan untuk membuat tabel temporary item penjualan. Jika transaksinya telah benar-benar terjadi (tidak dibatalkan), maka data yang ada di tabel item temporary penjualan akan dipindahkan ke tabel penjualan. Jika transaksi dibatalkan, maka data yang ada ditabel temporary item akan dihapus dan tidak ditambahkan ke tabel penjualan. II.3 Perancangan Tabel Pertama-tama buka Database Desktop ->File ->New ->Table, kemudian isi Table type Paradox 7 pilih OK. Gambar 2.1. Tampilan Create Table 4

Buat Tabel data Merk kemudian save dengan nama Merk.db Gambar 2.2. Tampilan Table Merk.db Secondary Index: Nama Index Index Field Unique Maintained Case Sencitive Descending idxmerk NamaMerk Buat Tabel data Handphone kemudian save dengan nama Laptop.db Gambar 2.3. Tampilan Table Handphone.db Secondary Index: 5

Nama Index Index Field Unique Maintained Case Sencitive Descending idxjenis Jenis idxnama NamaLaptop idxseri Seri Buat Tabel data Pelanggan kemudian save dengan nama Pelanggan.db Gambar 2.4 Tampilan Table Pelanggan.db Secondary Index: Nama Index Index Field Unique Maintained Case Sencitive Descending idxemail Email idxkota kota idxnama Nama Buat Tabel data Penjualan kemudian save dengan nama Penjualan.db 6

Gambar 2.5 Tampilan Table Penjualan.db Secondary Index: Nama Index Index Field Unique Maintained idxwaktu Waktu idxkode kode Case Sencitive Descending Buat Tabel data Detail Penjualan kemudian save dengan nama DetaiPenjualan.db Gambar 2.6. Tampilan Table DetaiPenjualan.db Buat Tabel Temporary kemudian save dengan nama TempItemJual.db Gambar 2.7. Tampilan Table TempItemJual.db 7

BAB III TAMPILAN DATABASE LAPTOP III.1 Tampilan Komponen Data Module digunakan untuk memusatkan komponen-komponennon visual (komponen yang ketika dirun tidak terlihat di form seperti komponen database, dialog, dan lain-lain). Langkah membuat Data Module, adalah : Klik File New Data Module Klik Data Module, ganti properti Name dengan DM (agar lebih singkat) Simpan data module dengan mengklik File Save. Simpan dengan nama file UDM.pas (Unit Data Module) Gambar 3.1. Tampilan Data Modul 1. Tempatkan sebuah komponen Table ke Data Module DM, isi properti tersebut DatabaseName : (Kosongkan saja/tanpa alias) TableName : Merk.db Active : True Name : TMerk 2. Tempatkan sebuah komponen DataSource ke Data Module DM, isi properti tersebut Name : DsMerk DataSet : Tmerk 3. Tempatkan sebuah komponen Table ke Data Module DM, isi properti tersebut DatabaseName : (Kosongkan saja/tanpa alias) TableName : Laptop.db Active : True Name : TLaptop 4. Tempatkan sebuah komponen DataSource ke Data Module DM, isi properti tersebut Name : DsLaptop 8

DataSet : TLaptop 5. Tempatkan sebuah komponen Table ke Data Module DM, isi properti tersebut DatabaseName : (Kosongkan saja/tanpa alias) TableName : Pelanggan.db Active : True Name : TPelanggan 6. Tempatkan sebuah komponen DataSource ke Data Module DM, isi properti tersebut Name : DsPelanggan DataSet : TPelanggan 7. Tempatkan sebuah komponen Table ke Data Module DM, isi properti tersebut DatabaseName : (Kosongkan saja/tanpa alias) TableName : Penjualan.DB Active : True Name : TPenjualan 8. Tempatkan sebuah komponen DataSource ke Data Module DM, isi properti tersebut Name : DsPenjualan DataSet : TPenjualan 9. Tempatkan sebuah komponen Table ke Data Module DM, isi properti tersebut DatabaseName : (Kosongkan saja/tanpa alias) TableName : DetailPenjualan.DB Active : True Name : TdetailPenjualan IndexFieldName : NomorPenjualan MasterField : Nomor MasterSource : DSPenjualan 10. Tempatkan sebuah komponen DataSource ke Data Module DM, isi properti tersebut Name : DsDetailPenjualan DataSet : TDetaiPenjualan 11. Tempatkan sebuah komponen Table ke Data Module DM, isi properti tersebut DatabaseName : (Kosongkan saja/tanpa alias) TableName : TempItemJual.db Active : True Name : TTempItemJual 12. Tempatkan sebuah komponen DataSource ke Data Module DM, isi properti tersebut Name : DsTempItemJual 9

DataSet : TTempItemJual 13. Tempatkan sebuah komponen Query ke Data Module DM, isi properti tersebut DatabaseName : (Kosongkan saja/tanpa alias) TableName : Active : True Name : Query1 14. Tempatkan sebuah komponen DataSource ke Data Module DM, isi properti tersebut Name : DsQuery DataSet : Query1 Kemudian rancanglah form-form yang di butuhkan, sebelumnya harus di ingat dalam setip from harus di Use Unit terlebih dahulu ke Data Module, di karenakan tiap form akan menggunakan data yang ada pada data Module. Caranya klik File -> Use Unit. Pilih file UDM.pas, kemudian klik tombol OK. Form Menu Utama Gambar 3.2. Tampilan Menu Utama Komponen-Komponen yang di butuhkan : 1. Form, dengan properti 2. Caption : Toko Penjualan Laptop 3. Name : Futama 4. MainMenu1 5. Name : Default 6. Items : Data (Merk, Laptop, Pelanggan) Transaksi (Penjualan, SQL) 10

Laporan (L.Merk, L.Laptop, L. Pelanggan, L.Penjualan) About (Programmer, Deskripsi Program) 7. Panel1, dengan properti 8. Align : alleft 9. Color : clmoneygreen 10. Komponen : Groupbox1 11.Caption : Log In 12.Height : 145 BitBtn1 13. Caption : Log In 14. Cursor : crarrow 15. Name : TLogin BitBtn2 16. Caption : Log Out 17. Name : Tlogout 18. Visible: false Edit1 19. Name : default 20. Text : (Kosongkan) Edit2 21. Name : default 22. Text : (Kosongkan) SpeedButton1 23. Hint : Close 24. ShowHint : True 25. Name : TClose 26. Panel2, dengan properti 27. Align : altop 28. Color : clmoneygreen 29. Height : 36 30. TabOrder : 1 31. Top : 41 32. Width : 549 33. Komponen : Label1 34. Caption : Sistem Informasi Penjualan Laptop 35. Font : Tw Cen MT 36. fsbold : True 37. fsitalic : True 38. Panel3, dengan properti 39. Align : altop 40. Komponen : SpeedButton1 41. Name : default 42. Glyph : data_table.bmp 43. Hint : pengolahan data merk 44. ShowHint : True SpeedButton2 45. Name : default 46. Glyph : computernetwork copy.bmp 47. Hint : pengolahan data laptop 48. ShowHint : True SpeedButton3 49. Name : default 50. Glyph : users copy.bmp 51. Hint : pengolahan datapelangga n 52. ShowHint : True SpeedButton4 53. Name : default 54. Glyph : books copy.bmp SpeedButton5 11

55. Name : default 56. Glyph :sql copy.bmp 57. Hint : pengolahan 59. Timer 60. ImageListToolbar 61. MainMenu1 62. XPManifest1 63. StatusBar1 64. Image1 65. 66. 67. Form Pengolahan Data Merk data penjualan 58. ShowHint : True 68. 69. Gambar 3.3. Tampilan Form Pengolahan Data Merk 70. 71. Komponen-Komponen yang di butuhkan : 1. Form, dengan properti 72. Caption : Pengolahan Data Merk 73. Name : Fmerk 74. Komponen : DBGrid1 75. DataSource : DM.DsMerk 2. Panel1, dengan properti 76. Align : altop 77. Caption : Data Merk Laptop 78. Font : Tw Cen MT 79. fsbold : True 80. fsitalic : True 3. Panel2, dengan properti 81. Align : albottom 82. Komponen : GroupBox1 83. Caption : Pencarian Edit1 12

84. Name : Ecari 85. Text : (Kosongkan) BitBtn1 86. Caption : Cari 87. Glyph : cari.bmp BitBtn2 88. Caption : Nearest Glyph : binocular.b mp GroupBox2 89. Caption : Berdasarkan RadioButton1 90. Caption : Kode Merk 91. Name : RBKode RadioButton2 92. Caption : Nama Merk 93. Name : RBNama SpeedButton1 94. Glyph : arrow-stop- 180.bmp 4. StatusBar1 5. Form Pengisian Merk 95. Name : default SpeedButton2 96. Glyph : arrow- 180.bmp 97. Name : default SpeedButton3 98. Glyph : arrow.bmp 99. Name : default SpeedButton4 100. Glyph : arrowstop.bmp 101. Name : default BitBtn1 102. Caption : Tambah 103. Glyph : plus.bmp 104. Name : TTambah BitBtn2 105. Caption : Edit 106. Glyph : edit.bmp 107. Name : TEdit BitBtn3 108. Caption : Hapus 109. Glyph : delete_16x16.bmp 110. Name : THapus BitBtn4 111. Caption : Tutup 112. Glyph : exit.bmp 113. Name : TTutup 13

6. 7. Gambar 3.4 Tampilan Form Pengisian Merk 8. 9. Komponen-Komponen yang di butuhkan : 1. Form, dengan properti 2. Caption : Pengolahan Isi Data Merk 3. Name : FIsiMerk 4. Panel1, dengan properti 5. Align : alclient 6. Komponen : GroupBox1 7. Caption : Isi Merk DBEdit1 8. Name : default 9. DataSource : DM.DsMerk 10. DataField : KodeMerk DBEdit2 11. Name : default 12. DataSource : DM.DsMerk 13. DataField : NamaLaptop 28. StatusBar 29. XPManifest1 30. Form Data Laptop Label1 14. Caption : KodeMerk Label2 15. Caption : NamaLaptop BitBtn1 16. Caption : Simpan 17. Glyph : disks-black copy.bmp 18. Name : TSimpan BitBtn2 19. Caption : Batal 20. Glyph : crossscript.bmp 21. Name : TBatal 22. Panel2, dengan properti 23. Align : altop 24. Caption : Pengisian Merk 25. Font : Tw Cen MT 26. fsbold : True 27. fsitalic : True 14

31. 32. Gambar 3.5 Tampilan Data Laptop 33. 34. Komponen-Komponen yang di butuhkan : 1. Form, dengan properti 35. Caption : Pengolahan Data Laptop 36. Name : FLaptop 2. DBGrid1 37. Align : alclient 38. Name : default 39. DataSource : DM.DsLaptop 3. Panel1 40. Align : altop 41. Komponen : GroupBox1 42. Caption : Pencarian Edit1 43. Name : Ecari BitBtn1 44. Caption : Cari 45. Glyph : cari.bmp BitBtn2 46. Caption : Nearest 47. Glyph : binocular.bmp GroupBox2 48. Caption : Pengurutan RadioButton1 49. Caption : Kode 50. Name : RBKode RadioButton2 51. Caption : Seri 52. Name : RBSeri RadioButton3 53. Caption : Nama 54. Name : RBNama 4. Panel2 55. Align : albottom 56. Komponen : DBImage1 57. Name : default 58. DataField : Gambar 59. DataSource : DM.DsLaptop DBMemo1 60. Name : default 61. DataField :Spesifikasi 62. DataSource : DM.DsLaptop SpeedButton1 63. Glyph : arrow.bmp SpeedButton2 64. Glyph : arrowstop-180.bmp SpeedButton3 15

65. Glyph : arrow- 180.bmp SpeedButton4 66. Glyph : arrowstop.bmp SpeedButton1 67. Caption : Tambah 68. Glyph : plus.bmp 69. Name : TTambah SpeedButton2 79. Form Pengolahan Data Laptop 70. Caption : Edit 71. Glyph : edit.bmp 72. Name : TEdit SpeedButton3 73. Caption : Hapus 74. Glyph : delete.bmp 75. Name : THapus SpeedButton4 76. Caption : Tutup 77. Glyph : exit.bmp 78. Name : TTutup 80. 81. Gambar 3.6 Tampilan Isi Data Laptop 82. 83. Komponen-Komponen yang di butuhkan : 1. Form, dengan properti 2. Caption : Pengolahan Data Isi Laptop 3. Name : FisiLaptop 4. Components1, dengan properti 5. Align : alclients 6. Komponen : Panel1 7. Align : altop 8. Caption : Isi Laptop Panel2 9. Align : alclient 10. Caption : (Kosongkan) GroupBox2 11. Caption : Pengisian Gambar dan Spesifikasi DBImage2 12. Name : default 13. DataField : Gambar 14. DataSource : DM.DsLaptop DBMemo2 15. Name : default 16. DataField : Spesifikasi 17. DataSource : DM.DsLaptop 16

Label10 18. Caption : Gambar Label11 19. Caption : Spesifikasi BitBtn1 20. Caption : Browse 21. Name : TBrowse 22. Glyph : DIRECTRY.bmp BitBtn2 23. Caption : Hapus 24. Name : THapus 25. Glyph : delete_16x16.bmp GroupBox3 26. Caption : Pengisian Data Laptop DBEdit1 27. Name : default 28. DataField : KodeLaptop 29. DataSource : DM.DsLaptop DBEdit2 30. Name : default 31. DataField : Seri 32. DataSource : DM.DsLaptop DBEdit5 33. Name : default 34. DataField : HargaBeli 35. DataSource : DM.DsLaptop DBEdit6 36. Name : default 37. DataField : HargaJual 38. DataSource : DM.DsLaptop DBEdit7 39. Name : default 40. DataField : Stock 41. DataSource : DM.DsLaptop DBEdit8 42. Name : default 43. DataField : StockMinimal 44. DataSource : DM.DsLaptop ComboBox1 45. Name : CBLaptop 46. Items : Intel DBLookupComboBox1 47. Name : default 48. KeyField : NamaLaptop 49. ListField : KodeMerk 50. ListSource : DM.DsMerk Label1 51. Caption : KodeLaptop 52. FocusControl : DBEdit1 53. Name : default Label2 54. Caption : Seri 55. FocusControl : DBEdit2 56. Name : default Label3 57. Caption : NamaLaptop 58. FocusControl : DBLookupComboBox1 59. Name : default Label4 60. Caption : Jenis 61. FocusControl : CBLaptop 62. Name : default Label5 63. Caption : HargaBeli 64. FocusControl : DBEdit5 65. Name : default Label6 66. Caption : HargaJual 67. FocusControl : DBEdit6 17

68. Name : default Label7 69. Caption : Stock 70. FocusControl : DBEdit7 71. Name : default Label8 72. Caption : StockMinimal 73. FocusControl : DBEdit8 74. Name : default 81. StatusBar1 82. Form Pengolahan Data Pelanggan BitBtn1 75. Caption : Batal 76. Name : Tbatal 77. Glyph : crossscript.bmp BitBtn2 78. Caption : Simpan 79. Name : Tsimpan 80. Glyph : disks-black copy.bmp OpenDialog1 83. 84. Gambar 3.7 Tampilan Data Pelanggan 85. 86. Komponen-Komponen yang di butuhkan : 1. Form, dengan properti 2. Caption : Data Pelanggan 3. Name : FPelanggan 4. DBGrid1, dengan property 5. Align : alclient 6. Name : default 7. DataSource : DM.DsPelanggan 8. Panel1, dengan properti 9. Align : altop 10. Komponen : GroupBox1 11. Caption : Pencarian 12. Name : default Edit1 13. Name : Ecari 14. BitBtn1 15. Caption : Cari 16. Glyph : cari.bmp BitBtn2 17. Caption : Nearest 18

18. Glyph : binocular.bmp GroupBox2 19. Caption : Pengurutan 20. Name : default RadioButton1 21. Caption : Kode 22. Name : CBKode RadioButton2 23. Caption : Nama 24. Name : CBNama RadioButton3 25. Caption : Kota 26. Name : CBKota RadioButton4 27. Caption : Email 28. Name : CBEmail 87. Panel2, dengan property 29. Align : albottom SpeedButton1 30. Glyph : arrow-stop- 180.bmp SpeedButton2 31. Glyph : arrow.bmp SpeedButton3 48. Form Pengisian Data Pelanggan 32. Glyph : arrowstop.bmp SpeedButton4 33. Glyph : arrow- 180.bmp BitBtn1 34. Caption : Tambah 35. Glyph : plus.bmp 36. Name : TTambah BitBtn2 37. Caption : Edit 38. Glyph : edit.bmp 39. Name : TEdit BitBtn3 40. Caption : Hapus 41. Glyph : delete_16x16.bmp 42. Name : THapus BitBtn4 43. Caption : Tutup 44. Glyph : exit.bmp 45. Name : TTutup 88. Panel3, dengan property 46. Align : altop 47. Caption : Pelanggan 89. StatusBar1 49. 50. Gambar 3.8 Tampilan Isi Data Pelanggan 19

51. 52. Komponen-Komponen yang di butuhkan : 1. Form, dengan properti 2. Caption : Pengolahan Data Isi Pelanggan 3. Name : FisiPelanggan 4. Panel1, dengan properti 5. Align : altop 6. Caption : Pelanggan 7. Panel2, dengan properti 8. Align : alclient 9. Komponen : GroupBox1 10. Caption : Pengisian 11. Name : default ComboBox1 12. Name : CBJKelamin 13. Items : L 14. P DBEdit1 15. Name : default 16. DataField : Kode 17. DataSource : DM.DsPelanggan DBEdit2 18. Name : default 19. DataField : Nama 20. DataSource : DM.DsPelanggan DBEdit4 21. Name : default 22. DataField : Kota 23. DataSource : DM.DsPelanggan DBEdit5 24. Name : default 25. DataField : NoTelepon 26. DataSource : DM.DsPelanggan DBEdit6 27. Name : default 28. DataField : Email 29. DataSource : DM.DsPelanggan DBMemo1 30. Name : default 31. DataField : Alamat 32. DataSource : DM.DsPelanggan Label1 33. Caption : Kode 34. FocusControl : DBEdit1 35. Name : default Label2 36. Caption : Nama 37. FocusControl : DBEdit2 38. Name : default Label3 39. Caption : JenisKelamin 40. FocusControl : CBJKelamin 41. Name : default Label4 42. Caption : Alamat 43. FocusControl : DBMemo1 44. Name : default Label5 45. Caption : Kota 46. FocusControl : DBEdit4 47. Name : default Label6 48. Caption : NoTelepon 49. FocusControl : DBEdit5 50. Name : default Label7 51. Caption : Email 52. FocusControl : DBEdit6 53. Name : default BitBtn1 20

61. 54. Caption : Simpan 55. Glyph : disks-black copy.bmp 56. Name : TSimpan BitBtn2 60. 57. Caption : Batal 58. Glyph : crossscript.bmp 59. Name : TBatal 62. 63. 64. 65. 66. 67. Form Transaksi Penjualan 68. 69. Gambar 3.9 Tampilan Transaksi Penjualan 70. 71. Komponen-Komponen yang di butuhkan : 1. Form, dengan properti 2. Caption : Pengolahan Data Penjualan 3. Name : FPenjualan 4. Panel1, dengan properti 5. Align : altop 6. Caption : Pengolahan Data Penjualan 21

7. Panel2, dengan properti 8. Align : albottom 9. Komponen : GroupBox1 10. Align : alnone 11. Caption : Pencarian Edit1 12. Name : Ecari 13. Text : (Kosongkan) BitBtn1 14. Caption : Nearest 15. Name : TNearest 16. Glyph : binocular.bmp SpeedBotton1 17. Caption : (Kosongkan) 18. Glyph : arrow- 180.bmp 19. Name : default SpeedBotton2 20. Caption : (Kosongkan) 35. Panel3, dengan properti 36. Align : altop 37. Caption : Perincian Faktur Penjualan 38. DBGrid2, dengan properti 39. Align : alclient 40. Name : default 41. DataSource : DM.DsDetailPenjualan 42. DBGrid3 43. Align : altop 44. Name : default 45. DataSource : DM.DsPenjualan 46. Form Pembuatan Faktur Baru 21. Glyph : arrowstop-180.bmp 22. Name : default SpeedBotton3 23. Caption : (Kosongkan) 24. Glyph : arrowstop.bmp 25. Name : default SpeedBotton4 26. Caption : (Kosongkan) 27. Glyph : arrow.bmp 28. Name : default BitBtn2 29. Caption : Penjualan Baru 30. Glyph : blueprint--pencil copy.bmp 31. Name : TPenjualan BitBtn3 32. Caption : Tutup 33. Glyph : crossscript.bmp 34. Name : TTutup 22

47. 48. Gambar 3.10 Tampilan Pembuatan Faktur Baru 49. 50. 51. Komponen-Komponen yang di butuhkan : 1. Form, dengan properti 2. Caption : Pengisian Penjualan 3. Name : FIsiPenjualan 4. Panel1, dengan properti 5. Align : altop 6. Caption : Isi Penjualan 7. Panel2, dengan properti 8. Align : albottom BitBtn1 9. Caption : Tambah Item 10. Glyph : plus.bmp 11. Name : TTambah BitBtn2 12. Caption : Edit 13. Glyph : edit.bmp 14. Name : TEdit BitBtn3 15. Caption : Hapus 16. Glyph : delete.bmp 17. Name : THapus BitBtn4 18. Caption : Selesai 19. Glyph : disks-black copy.bmp 20. Name : TSelesai 21. Panel3, dengan properti 22. Align : altop 23. Komponen : GroupBox1 24. Caption : Pengisian Edit1 25. Name : Ekode 26. Text : (Kosongkan) Edit2 27. Name : ENama 28. Text : (Kosongkan) Edit3 29. Name : EJK 30. Text : (Kosongkan) Edit4 31. Name : EAlamat 32. Text : (Kosongkan) Edit5 23

33. Name : ENoTelepon 34. Text : (Kosongkan) Edit6 35. Name : EKota 36. Text : (Kosongkan) Label1 37. Caption : JeknisKelamin Label2 38. Caption : Nama Label4 39. Caption : Alamat Label5 40. Caption : Kota 49. StatusBar1 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. Form Pengisian Itemp Jual Laptop Labe6 41. Caption : NoTelepon Label8 42. Caption : Kode BitBtn5 43. Caption : Menampilkan Data 44. Glyph : bluefolder-opendocument-text copy.bmp 45. Name : TCari BitBtn6 46. Caption : Data Pelanggan 47. Glyph : database copy.bmp 48. Name : TData 24

60. 61. Gambar 3.11 Tampilan Pembuatan item jual laptop 62. 63. Komponen-Komponen yang di butuhkan : 1. Form, dengan properti 2. Caption : Pengisian Jual 3. Name : FIsiItempJual 4. Panel1, dengan properti 5. Align : altop 6. Caption : item jual 7. Panel2, dengan properti 8. Align : albottom GroupBox1 9. Caption : Pengisian DBEdit1 10. Data field : KodeLaptop 11. DataSource : DM.DsTempItemJual DBLookupComboBo x3 12. Data field : Seri 13. DataSource : DM.DsTempItemJual DBLookupComboBo x1 14. Data field : NamaLaptop 15. DataSource : DM.DsTempItemJual DBEdit2 16. Data field : HargaJual 17. DataSource : DM.DsTempItemJual DBEdit3 18. Data field : Stock 19. DataSource : DM.DsTempItemJual DBEdit6 20. Data field : Qty 21. DataSource : DM.DsTempItemJual DBEdit5 22. Data field :SubTotal 23. DataSource : DM.DsTempItemJual Label1 24. Caption : KodeLaptop Label6 25. Caption : seri Label2 26. Caption : NamaLaptop Label3 25

27. Caption : HargaJual Labe5 28. Caption : Stock Label8 29. Caption : Qty Label7 30. Caption : SubTotal BitBtn1 37. Form Pengisian Sintak SQL 31. Caption : Simpan 32. Glyph : disksblack copy.bmp 33. Name : TSimpan BitBtn2 34. Caption : Batal 35. Glyph : crossscript.bmp 36. Name : TBatal 38. 41. Komponen-Komponen yang di butuhkan : 1. Form, dengan properti 42. Caption : Pengolahan Data Query/SQL 43. Name : FSQL 2. Panel1, dengan properti 39. Gambar 3.11 Tampilan SQL 40. 44. Align : altop 45. Caption : Query/SQL 3. Panel3, dengan properti 46. Align : albottom 47. 48. 49. Komponen : 26

GroupBox1 50. Caption : SQL Memo1 51. Name : MemoSQL BitBtn1 52. Caption : Buka 53. Glyph : sql.bmp 54. Name : TBukaSQL BitBtn2 55. Caption : EksekusiSQL 63. Form Profil Programmer 56. Glyph : spellcheck copy.bmp 57. Name : TEksekusiSQL BitBtn3 58. Caption : Keluar 59. Glyph : exit.bmp 60. Name : TKeluar 4. StatusBar1 5. DBGrid1 61. Name : default 62. DataSource : DM.DsQuery 64. 65. Gambar 3.13 Tampilan Programmer IF-4 66. 67. Komponen-Komponen yang di butuhkan : 1. Form, dengan properti 2. Caption : Profil Programmer 3. Name : Fprofil GroipBox6 4. Label8 5. Caption : Qty 6. Label17 7. Caption : Thanks To... 8. Label18 9. Caption : Allah SWT... 10. Label19 11. Caption : terlepas dari... 12. Label22 13. Caption : Programing... 14. Label23 15. Caption :Bandung... 16. Label24 17. Caption TEAM:... 18. GroupBox7 19. Bevel1,Bevel2,Bevel3 20. Bevel4,Bevel5 21. GroupBox1 22. Name : Image3 GroupBox2 23. Name : Image1 24. GroupBox3 25. Name : Image2 GroupBox4 26. Name : Image4 GroupBox5 27. Name : Image5 28. Label1 29. Caption : Rizky 30. Label10 31. Caption : 10108151 32. StatusBar1 34. 33. Form Deskripsi Program 27

35. 36. Gambar 3.13 Tampilan Deskripsi Program 37. 38. Komponen-Komponen yang di butuhkan : 1. Form, dengan properti 39. Caption : Deskripsi Program 40. Name : FDeskripsi 2. Panel1, dengan properti 41. Align : altop 42. Caption : Deskripsi 3. Panel2, dengan properti 43. Align : alclient 44. Masukan Komponen : Image1 Caption : Delphi DataSource : DM.DsSQL Label3 Label1 Caption : Enterprise Caption : Borland Memo1 Label2 StatusBar1 III.2 Pembuatan Laporan Penjualan Laptop Buka kembali program yang berisi program master detail. Pilih Menu File New Report, yang akan menampilkan sebuah report kosong. kemudian pilih bands (bagian-bagian report)yang akan digunakan dengan menekan tanda + pada properti Bands. Isi dengan nilai true pada band yang akan digunakan. 28

Gambar 3.14 Tampilan QuickReport1 Sub Detail diambil dari component pallete bagian QRReport dengan nama komponen QRSubdetail () dengan properties yang diubah adalah : *Dataset : Dm.TLaptop *Band : HasFooter diisi dengan True Isi tabel yang akan dibuat laporan dengan cara mengisi properti Dataset dari reportnya. Table yang akan dilaporkan boleh diambil dari form lain atau dari data module. Jika tabel yang akan dilaporkan ada di form lain atau di data module, maka gunakan Menu File Use Unit pilih UDM untuk mengenalkan semua isi dari datamodule yang memiliki tabel yang akan dibuat laporannya. Kemudian isi properti datasetnya dengan DM.TPenjualan. Ganti properti Name dari laporan, sesuaikan dengan kegunaan report tersebut contoh : Name : LapLaptop Kemudian simpan report tersebut dengan mengklik menu File Save, isi nama filenya LapLaptop.pas. Atur pula bagian Title, misalnya dengan mengisikan tanggal. Atur pula bagian ColumnHeadernya dengan menempatkan QRLabel sebagai JudulKolom. 29

Atur pula bagian terpentingnya yaitu bagian Detail. Data-data yang ada dalam band Detail biasanya berasal dari database sehingga komponen yang dipakai di band tersebut adalah QRDBText. Atur properti setiap QRDBText tersebut. Properti yang diatur adalah properti Dataset dan DataField. Isi dataset dengan DM.TPenjualan dan DataField disesuaikan dengan nama field yang akan dituliskan oleh QRDBText tersebut. Atur pada bagian summary dengan menggunakan komponen QRDBText dengan mengubah properties Dataset dengan DM.TLaptop dan datafield sesuai dengan field yang ingin ditampilkan Atur pada bagian PageFooter Secara keseluruhan, desain report terlihat seperti gambar di bawah ini. Gambar 3.14 Tampilan Rancangan LapPenjualan 30

Hasil dari laporan penjualan Gambar 3.14 Tampilan Laporan Penjualan BAB IV KESIMPULAN DAN SARAN IV.1 Kesimpulan Dari hasil analisis terhadap aplikasi Database yang dirancang maka penulis dapat menarik kesimpulan sebagai berikut : 1. Aplikasi Database Penjualan Laptop ini merupakan aplikasi yang dapat mempermudah pengelolaan data penjualan pada suatu toko. Karena dapat menyimpan data barang dalam jumlah besar. 2. Aplikasi ini dapat digunakan pada toko-toko laptop yang memerlukan suatu aplikasi Database. 3. Database ini juga mudah dipahami oleh use awam, karena tidak rumit dalam penggunaannya. 31

IV.2 Saran Dari hasil penelitian ini ternyata masih ditemukan banyak kekurangan, namun penulis berharap tulisan ini dapat menjadi acuan bagi pihak lain guna melanjutkan penelitian yang lebih baik lagi. Kontribusi Masing-masing Anggota: RIZKY BADAI ILHAMI (10108151) Memasukan Data Laptop Pengisian makalah pada bagian komponen form laptop dan isi laptop Pengisian makalah pada bagian form pelanggan. Editor makalah. Pembuatan stuktur table di Paradox. GUNTUR GAMADI (10108147) Pengisian makalah pada bagian form programmer, menu dan menulis Pembuat program aplikasi DataBase (coding+perancangan). FERI PIKTORIA (10106427) Mendesain tampilan form-form. Pemberi masukan pada Bab I dan mengetik Kesimpulan. Memberi masukan mengenai form-form DataBase. DIMAS RACHMAT PRATAMA (10106423) Mengetik makalah dan menulis abstraksi Pengisian makalah pada bagian form merk, Deskripsi Print screen form-form. 32

Lampiran Source Code Program Form DM (Perhitungan Calculated Field) procedure TDM.TLaptopCalcFields(DataSet: TDataSet); begin TLaptopKeuntungan.Value:=TLaptopHargaJual.value - TLaptopHargaBeli.value; end; procedure TDM.TTempItemJualCalcFields(DataSet: TDataSet); begin TTempItemJualSubTotal.value:=TTempItemJualQty.value*TTempItemJualHargaJual. Value; end; procedure TDM.TDetailPenjualanCalcFields(DataSet: TDataSet); begin TDetailPenjualanSubtotal.value:=TDetailPenjualanQty.value*TDetailPenjualanHarga.Val ue; end; end. Form Menu Utama procedure TFUtama.SpeedButton1Click(Sender: TObject); begin FUtama.Hide; FMerk.ShowModal; end; procedure TFUtama.Merk2Click(Sender: TObject); begin FUtama.Hide; FMerk.ShowModal; end; procedure TFUtama.SpeedButton2Click(Sender: TObject); begin FUtama.Hide;

FLaptop.ShowModal; end; procedure TFUtama.SpeedButton3Click(Sender: TObject); begin FUtama.Hide; FPelanggan.ShowModal; end; procedure TFUtama.Pelanggan2Click(Sender: TObject); begin FUtama.Hide; FPelanggan.ShowModal; end; procedure TFUtama.SpeedButton4Click(Sender: TObject); begin FUtama.Hide; FPenjualan.ShowModal; end; procedure TFUtama.Penjualan1Click(Sender: TObject); begin FUtama.Hide; FPenjualan.ShowModal; end; procedure TFUtama.Laptop1Click(Sender: TObject); begin FUtama.Hide; FLaptop.ShowModal; end; procedure TFUtama.SpeedButton5Click(Sender: TObject); begin FUtama.Hide; FSQL.ShowModal;

end; procedure TFUtama.SQL1Click(Sender: TObject); begin FUtama.Hide; FSQL.ShowModal; end; procedure TFUtama.LPelanggan1Click(Sender: TObject); begin LapMerk.Preview; end; procedure TFUtama.LLaptop1Click(Sender: TObject); begin LapLaptop.Preview; end; procedure TFUtama.LPenjualan1Click(Sender: TObject); begin LapPelanggan.Preview; end; procedure TFUtama.LaporanPenjualan1Click(Sender: TObject); begin LapPenjualan.Preview; end; procedure TFUtama.LDetailPenjualan1Click(Sender: TObject); begin LapDetailPenjualan.Preview; end; procedure TFUtama.keluar1Click(Sender: TObject); begin If MessageDlg('Anda Yakin Ingin Keluar?',mtConfirmation, [mbyes,mbno],0)=mryes then Application.Terminate; end;

procedure TFUtama.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin If MessageDlg('Anda Yakin Ingin Keluar?',mtConfirmation, [mbyes,mbno],0)=mryes then CanClose := True else CanClose := False; end; procedure TFUtama.Timer1Timer(Sender: TObject); begin NamaApp:=Copy(NamaApp,2,length(NamaApp)-1)+NamaApp[1]; StatusBar1.Panels[0].Text:=NamaApp; StatusBar1.Panels[1].Text:=FormatDateTime('dddd, dd-mmmm-yyyy hh:nn:ss',now); end; procedure TFUtama.FormCreate(Sender: TObject); begin NamaApp := ' Sistem Informasi Penjualan Laptop '; end; procedure TFUtama.TLogINClick(Sender: TObject); begin if ((Edit1.Text='a') and (Edit2.Text='1')) then begin //mengaktifkan Tools sesudah Login berhasil Data1.Enabled:=True; Trasaksi1.Enabled:=True; Laporan1.Enabled:=True; Panel3.Enabled:=true; TLogout.Visible:=True; end else begin ShowMessage('kode tidak sama');

end; Edit1.Clear; Edit2.Clear; end; procedure TFUtama.TLogoutClick(Sender: TObject); begin Data1.Enabled:=false; Trasaksi1.Enabled:=false; Laporan1.Enabled:=false; Panel3.Enabled:=false; TLogout.Visible:=false; end; procedure TFUtama.SpeedButton6Click(Sender: TObject); begin If MessageDlg('Anda Yakin Ingin Keluar?',mtConfirmation, [mbyes,mbno],0)=mryes then Application.Terminate; end; procedure TFUtama.DeskripsiProrgam1Click(Sender: TObject); begin FDeskripsi.ShowModal; end; procedure TFUtama.Programer1Click(Sender: TObject); begin fprofil.showmodal; end; end. Form Merk procedure TFMerk.RBKodeClick(Sender: TObject); begin DM.TMerk.IndexName:=''; end;

procedure TFMerk.RBNamaClick(Sender: TObject); begin DM.TMerk.IndexName:='IdxNama'; end; procedure TFMerk.SpeedButton1Click(Sender: TObject); begin DM.TMerk.Prior; if DM.TMerk.Bof then ShowMessage('Anda Sudah di awal data'); end; procedure TFMerk.SpeedButton3Click(Sender: TObject); begin DM.TMerk.Last; end; procedure TFMerk.SpeedButton2Click(Sender: TObject); begin DM.TMerk.First; end; procedure TFMerk.SpeedButton4Click(Sender: TObject); begin DM.TMerk.Next; if DM.TMerk.Eof then ShowMessage('Anda Sudah di akhir data'); end; procedure TFMerk.TCariClick(Sender: TObject); var Ditemukan:Boolean; begin Ditemukan:=DM.TMerk.FindKey([ECari.Text]); if (Ditemukan=False) then ShowMessage('Data Tidak Ditemukan'); end; procedure TFMerk.TNearestClick(Sender: TObject); begin DM.TMerk.FindNearest([ECari.Text]); end; procedure TFMerk.TTutupClick(Sender: TObject); begin FUtama.Show;

close; end; procedure TFMerk.THapusClick(Sender: TObject); var Pesan:String; begin Pesan:='Anda yakin data berikut : '+#13+#13+ // #13 = Enter (pindah baris) 'Nama Laptop : '+DM.TMerkNama.value+#13+ 'akan dihapus?'; if MessageDlg(Pesan,mtConfirmation,[mbYes,mbNo],0)=mrYes then begin DM.TMerk.Delete; end; end; procedure TFMerk.TEditClick(Sender: TObject); begin DM.TMerk.Edit; // atau DM.Tmerk.Append; FIsiMerk.ShowModal;// Tampilkan Form Pengisian Data Merk end; procedure TFMerk.TTambahClick(Sender: TObject); begin DM.TMerk.Insert; // atau DM.Tmerk.Append; FIsiMerk.ShowModal; // Tampilkan Form Pengisian Data Merk end; procedure TFMerk.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin FUtama.show; close; end; end. From Isi Merk procedure TFIsiMerk.TBatalClick(Sender: TObject); begin if MessageDlg('Pengisian data dibatalkan?',mtconfirmation, [mbyes,mbno],0)=mryes then begin DM.TMerk.Cancel;

Close;// Tutup form FIsiBarang (Kembali ke FLaptop) end; end; procedure TFIsiMerk.TSimpanClick(Sender: TObject); begin DM.TMerkKode.Value:=Trim(DM.TMerkKode.Value); // Hapus spasi yang tidak perlu if DM.TMerkKode.IsNull then begin ShowMessage('Kode merk tidak boleh kosong'); DBEdit1.SetFocus; Exit; end; // --------------------------------- Akhir dari validasi DM.TMerk.Post; // Simpan data Close;// Tutup form FIsiBarang (Kembali ke Flaptop) end; procedure TFIsiMerk.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin if DM.TMerk.State in [dsinsert, dsedit] then // Jika Status masih kondisi Tambah / Edit begin CanClose:=False; // Layar tidak boleh ditutup ShowMessage('Gunakan tombol Simpan atau Batal untuk menutup window ini'); end; end; end. Form Laptop procedure TFLaptop.RBKodeClick(Sender: TObject); begin DM.TLaptop.IndexName:='';

end; procedure TFLaptop.RBSeriClick(Sender: TObject); begin DM.TLaptop.IndexName:='IdxSeri'; end; procedure TFLaptop.RBNamaClick(Sender: TObject); begin DM.TLaptop.IndexName:='IdxNama'; end; procedure TFLaptop.RBStockClick(Sender: TObject); begin DM.TLaptop.IndexName:='IdxStock'; end; procedure TFLaptop.TCariClick(Sender: TObject); var Ditemukan:Boolean; begin Ditemukan:=DM.TLaptop.FindKey([ECari.Text]); if (Ditemukan=False) then ShowMessage('Data Tidak Ditemukan'); end; procedure TFLaptop.TNearestClick(Sender: TObject); begin DM.TLaptop.FindNearest([ECari.Text]); end; procedure TFLaptop.TTutupClick(Sender: TObject); begin futama.show; close; end; procedure TFLaptop.SpeedButton2Click(Sender: TObject); begin

DM.TLaptop.Prior; if DM.TLaptop.Bof then ShowMessage('Anda Sudah di awal data'); end; procedure TFLaptop.SpeedButton1Click(Sender: TObject); begin DM.TLaptop.Last; end; procedure TFLaptop.SpeedButton3Click(Sender: TObject); begin DM.TLaptop.First; end; procedure TFLaptop.THapusClick(Sender: TObject); var Pesan:String; begin Pesan:='Anda yakin data berikut : '+#13+#13+ // #13 = Enter (pindah baris) 'Kode Laptop : '+DM.TLaptopKode.value+#13+ 'Nama Laptop : '+DM.TLaptopNamaLaptop.value+#13+#13+ 'akan dihapus?'; if MessageDlg(Pesan,mtConfirmation,[mbYes,mbNo],0)=mrYes then begin DM.TLaptop.Delete; end; end; procedure TFLaptop.TEditClick(Sender: TObject); begin DM.TLaptop.Edit; // atau DM.TLaptop.Append; FIsiLaptop.ShowModal;// Tampilkan Form Pengisian Data laptop end; procedure TFLaptop.TTambahClick(Sender: TObject); begin DM.TLaptop.Insert; // atau DM.Laptop.Append;

FIsiLaptop.ShowModal; // Tampilkan Form Pengisian Data Laptop end; procedure TFLaptop.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin futama.show; close; end; procedure TFLaptop.SpeedButton4Click(Sender: TObject); begin DM.TLaptop.Next; if DM.TLaptop.Eof then ShowMessage('Anda Sudah di akhir data'); end; end. Form Isi Laptop procedure TFIsiLaptop.CBLaptopChange(Sender: TObject); begin if CBLaptop.ItemIndex=0 then DM.TLaptopJenis.Value:='Intel' else DM.TLaptopJenis.Value:='AMD'; end; procedure TFIsiLaptop.TBatalClick(Sender: TObject); begin if MessageDlg('Pengisian data dibatalkan?',mtconfirmation, [mbyes,mbno],0)=mryes then begin DM.TLaptop.Cancel; Close;// Tutup form FIsiBarang (Kembali ke FBarang) end; end; procedure TFIsiLaptop.TSimpanClick(Sender: TObject); begin DM.TLaptopKode.Value:=Trim(DM.TLaptopKode.Value); // Hapus spasi yang tidak

perlu if DM.TLaptopKode.IsNull then begin ShowMessage('Kode laptop tidak boleh kosong'); DBEdit1.SetFocus; Exit; end; if DM.TLaptopStock.IsNull then begin ShowMessage('Stock tidak boleh kosong'); DBEdit5.SetFocus; Exit; end; if DM.TLaptopStock.value<=1 then begin Showmessage('Stock harus lebih besar dari 1'); DBEdit5.Setfocus; Exit; end; if DM.TLaptopStockMinimal.IsNull then begin ShowMessage('StockMinimal laptop tidak boleh kosong'); DBEdit6.SetFocus; Exit; end; if DM.TLaptopStockMinimal.value<=0 then begin Showmessage('StockMinimal harus lebih besar dari 0'); DBEdit6.Setfocus; Exit; end; // --------------------------------- Akhir dari validasi DM.TLaptop.Post; // Simpan data Close;// Tutup form FIsiBarang (Kembali ke FLaptop) end; procedure TFIsiLaptop.THapusClick(Sender: TObject); begin DM.TLaptopGambar.Clear; end; procedure TFIsiLaptop.TBrowseClick(Sender: TObject); begin if OpenDialog1.Execute then begin

// Isi field Gambar di Load dari File yang dipilih di OpenPictureDialog1 DM.TLaptopGambar.LoadFromFile(OpenDialog1.FileName); end; end; procedure TFIsiLaptop.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin if DM.TLaptop.State in [dsinsert, dsedit] then // Jika Status masih kondisi Tambah / Edit begin CanClose:=False; // Layar tidak boleh ditutup ShowMessage('Gunakan tombol Simpan atau Batal untuk menutup window ini'); end; end; end. Form Pelanggan procedure TFPelanggan.RBKodeClick(Sender: TObject); begin DM.TPelanggan.IndexName:=''; end; procedure TFPelanggan.RBNamaClick(Sender: TObject); begin DM.TPelanggan.IndexName:='IdxNama'; end; procedure TFPelanggan.RBKotaClick(Sender: TObject); begin DM.TPelanggan.IndexName:='IdxKota'; end; procedure TFPelanggan.RBemailClick(Sender: TObject); begin DM.TPelanggan.IndexName:='IdxEmail'; end; procedure TFPelanggan.TCariClick(Sender: TObject); var Ditemukan:Boolean; begin

Ditemukan:=DM.TPelanggan.FindKey([ECari.Text]); if (Ditemukan=False) then ShowMessage('Data Tidak Ditemukan'); end; procedure TFPelanggan.TNearestClick(Sender: TObject); begin DM.TPelanggan.FindNearest([ECari.Text]); end; procedure TFPelanggan.TTutupClick(Sender: TObject); begin futama.show; close; end; procedure TFPelanggan.SpeedButton4Click(Sender: TObject); begin DM.TPelanggan.Prior; if DM.TPelanggan.Bof then ShowMessage('Anda Sudah di awal data'); end; procedure TFPelanggan.SpeedButton3Click(Sender: TObject); begin DM.TPelanggan.Last; end; procedure TFPelanggan.SpeedButton1Click(Sender: TObject); begin DM.TPelanggan.First; end; procedure TFPelanggan.SpeedButton2Click(Sender: TObject); begin DM.TPelanggan.Next; if DM.TPelanggan.Eof then ShowMessage('Anda Sudah di akhir data'); end; procedure TFPelanggan.THapusClick(Sender: TObject); var Pesan:String; begin Pesan:='Anda yakin data berikut : '+#13+#13+ // #13 = Enter (pindah baris) 'Nama Pelanggan : '+DM.TPelangganNama.value+#13+#13+

'akan dihapus?'; if MessageDlg(Pesan,mtConfirmation,[mbYes,mbNo],0)=mrYes then begin DM.TLaptop.Delete; end; end; procedure TFPelanggan.TEditClick(Sender: TObject); begin DM.TPelanggan.Edit; // atau DM.TPelanggan.Append; FIsiPelanggan.ShowModal;// Tampilkan Form Pengisian Data Pelanggan end; procedure TFPelanggan.TTambahClick(Sender: TObject); begin DM.TPelanggan.Insert; // atau DM.Tmerk.Append; FIsiPelanggan.ShowModal;// Tampilkan Form Pengisian Data Merk end; procedure TFPelanggan.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin futama.show; close; end; end. Form Isi Pelanggan procedure TFIsiPelanggan.CBJKelaminChange(Sender: TObject); begin if CBJKelamin.ItemIndex=0 then DM.TPelangganJenisKelamin.Value:='L' else DM.TPelangganJenisKelamin.Value:='P'; end; procedure TFIsiPelanggan.TBatalClick(Sender: TObject); begin if MessageDlg('Pengisian data dibatalkan?',mtconfirmation, [mbyes,mbno],0)=mryes then begin DM.TPelanggan.Cancel; Close;// Tutup form FIsiPelanggan (Kembali ke FPelanggan) end;

end; procedure TFIsiPelanggan.TSimpanClick(Sender: TObject); begin DM.Tpelanggan.Post; close; end; procedure TFIsiPelanggan.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin if DM.TPelanggan.State in [dsinsert, dsedit] then // Jika Status masih kondisi Tambah / Edit begin CanClose:=False; // Layar tidak boleh ditutup ShowMessage('Gunakan tombol Simpan atau Batal untuk menutup window ini'); end; end; end. Form Penjualan (Transaksi Penjualan) procedure TFPenjualan.TTutupClick(Sender: TObject); begin futama.show; close; end; procedure TFPenjualan.TNearestClick(Sender: TObject); begin DM.TPenjualan.FindNearest([ECari.Text]); end; procedure TFPenjualan.SpeedButton1Click(Sender: TObject); begin DM.TPenjualan.Prior; if DM.TPenjualan.Bof then ShowMessage('Anda Sudah di awal data'); end; procedure TFPenjualan.SpeedButton3Click(Sender: TObject); begin

DM.TPenjualan.Last; end; procedure TFPenjualan.SpeedButton2Click(Sender: TObject); begin DM.TPenjualan.First; end; procedure TFPenjualan.SpeedButton4Click(Sender: TObject); begin DM.TPenjualan.Next; if DM.TPenjualan.Eof then ShowMessage('Anda Sudah di akhir data'); end; procedure TFPenjualan.TPenjualanClick(Sender: TObject); begin FPenjualan.Hide; // Hapus Semua Data yang ada di Temporary Item Jual DM.TTempItemJual.First; While DM.TTempItemJual.Eof = false do DM.TTempItemJual.Delete; FISiPenjualan.EKode.Clear; FISiPenjualan.ENama.Clear; FISiPenjualan.EAlamat.Clear; FISiPenjualan.EKota.Clear; FISiPenjualan.ENoTelepon.Clear; FIsiPenjualan.Showmodal; // Tampilkan Form Isi Penjualan end; procedure TFPenjualan.RBNomorClick(Sender: TObject); begin DM.TPenjualan.IndexName:=''; end; procedure TFPenjualan.RBKodeClick(Sender: TObject); begin DM.TPenjualan.IndexName:='IdxKode'; end; procedure TFPenjualan.RBWaktuClick(Sender: TObject); begin DM.TPenjualan.IndexName:='IdxWaktu';

end; procedure TFPenjualan.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin futama.show; close; end; end. Form Isi Penjualan (Pembuatan Faktur Baru) procedure TFIsiPenjualan.TCariClick(Sender: TObject); begin if DM.TPelanggan.Locate('Kode',EKode.Text,[])=true then begin ENama.Text:=DM.TPelanggan.FieldByName('Nama').AsString; EAlamat.Text:=DM.TPelanggan.FieldByName('Alamat').AsString; EKota.Text:=DM.TPelanggan.FieldByName('Kota').AsString; EJK.Text:=DM.TPelanggan.FieldByName('JenisKelamin').AsString; ENoTelepon.Text:=DM.TPelanggan.FieldByName('NoTelepon').AsString; end else begin Showmessage('Pelanggan Tidak Ditemukan'); ENama.Clear; EAlamat.Clear; EJk.Clear; EKota.Clear; ENoTelepon.Clear; end; end; procedure TFIsiPenjualan.TDataClick(Sender: TObject); begin FPelanggan.ShowModal; end; procedure TFIsiPenjualan.THapusClick(Sender: TObject); var pesan:string; begin pesan:='anda yakin item berikut : '+#13+#13+ 'Kode Penjualan : '+DM.TTempItemJualKodeLaptop.value+#13+ 'Kode Nama : '+DM.TTempItemJualNamaLaptop.value+#13+#13+

'Akan dihapus?'; if messagedlg(pesan,mtconfirmation,[mbyes,mbno],0)=mryes then begin DM.TTempItemJual.Delete; end; end; procedure TFIsiPenjualan.TEditClick(Sender: TObject); begin DM.TTempItemJual.Edit; FIsiItempJual.Showmodal; end; procedure TFIsiPenjualan.TTambahClick(Sender: TObject); begin DM.TTempItemJual.Append; FIsiItempJual.Showmodal; end; procedure TFIsiPenjualan.TSelesaiClick(Sender: TObject); var Total:Currency; begin if MessageDlg('Transaksi selesai?',mtconfirmation,[mbyes,mbno],0)=mryes then begin if DM.TPelanggan.Locate('Kode',EKode.Text,[])=false then begin Showmessage('Kode Pelanggan harus diisi dan terdaftar di Pelanggan'); EKode.SetFocus; Exit; end; if DM.TTempItemJualKodeLaptop.IsNull then begin Showmessage('Silahkan Isi Item Penjualan'); EKode.SetFocus; Exit; end; // Di sini, dipastikan bahwa pelanggan diisi dengan benar DM.TPenjualan.Append; DM.TPenjualanWaktuTransaksi.Value:=Now; DM.TPenjualanTotal.value:=0;// untuk sementara 0 DM.TPenjualanKodePelanggan.value:=StrToInt(EKode.Text); DM.TPenjualan.Post; // Simpan sementara, agar nomor penjualan dapat dihasilkan otomatis DM.TTempItemJual.First; Total:=0;

while DM.TTempItemJual.Eof = false do begin // Simpan Temp Item Jual ke Detail Penjualan satu per satu DM.TDetailPenjualan.Append; DM.TDetailPenjualanNomorPenjualan.value:=DM.TPenjualanNomor.Value; // ini sebenarnya tidak usah karena sudah menggunakan master/detail DM.TDetailPenjualanKodeLaptop.value:=DM.TTempItemJualKodeLaptop.value; DM.TDetailPenjualanHarga.Value:=DM.TTempItemJualHargaJual.value; DM.TDetailPenjualanQty.value:=DM.TTempItemJualQty.value; DM.TDetailPenjualan.Post; // Hitung total Total:=Total+DM.TTempItemJualSubTotal.value; //Update Stok di tabel barang if DM.TLaptop.Locate('Kode',DM.TDetailPenjualanKodeLaptop.value,[])=true then begin DM.TLaptop.Edit; DM.TLaptopStock.value:=DM.TLaptopStock.value - DM.TDetailPenjualanQty.value; DM.Tlaptop.Post; end; DM.TTempItemJual.Next; end; // Update Total penjualan DM.TPenjualan.Edit; DM.TPenjualanTotal.value:=Total; DM.TPenjualan.Post; close; end; end; procedure TFIsiPenjualan.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin FPenjualan.Show; Close; end; end. Form Isi Item Jual (Pengisian Item Jual)

procedure TFIsiItempJual.TBatalClick(Sender: TObject); begin if Messagedlg('Pengisian data mau dibatalkan?',mtconfirmation,[mbyes,mbno],0)=mryes then begin DM.TTempItemJual.Cancel; Close; end; end; procedure TFIsiItempJual.TSimpanClick(Sender: TObject); begin if DM.TTempItemJualKodeLaptop.IsNull then begin Showmessage('Kode Laptop tidak boleh dikosongkan'); DBEdit1.Setfocus; Exit; end; if DM.TTempItemJualHargaJual.IsNull then begin Showmessage('harga jual tidak ditemukan'); DBEdit2.Setfocus; Exit; end; if DM.TTempItemJualStock.IsNull then begin Showmessage('stock tidak ditemukan'); DBEdit3.Setfocus; Exit; end; if DM.TTempItemJualQty.IsNull then begin Showmessage('Qty tidak boleh dikosongkan'); DBEdit6.Setfocus; Exit; end; if DM.TTempItemJualQty.value<=0 then begin Showmessage('Qty harus lebih besar dari 0'); DBEdit6.Setfocus; Exit; end; DM.TTempItemJual.Post; Close;