membuat aplikasi bisnis - index-of.co.ukindex-of.co.uk/python/e-book-programming-python-...

Click here to load reader

Post on 12-Mar-2019

217 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

Membuat Aplikasi BisnisMenggunakan bahasa Python dan

database berbasis SQL

Oleh:Owo Sugiana

JAKARTA29 September 2002 - 7 Februari 2003

2

Daftar Isi

I Pendahuluan 15

1 Pemrograman Komputer 171.1 Mengapa Kita Butuh Program . . . . . . . . . . 171.2 Bahasa Pemrograman . . . . . . . . . . . . . . . 181.3 Siklus Pengembangan Program . . . . . . . . . . 18

2 Bahasa Pemrograman 212.1 Mengapa Python . . . . . . . . . . . . . . . . . . 212.2 Nama Python . . . . . . . . . . . . . . . . . . . . 232.3 Pemrograman Terstruktur . . . . . . . . . . . . . 232.4 Dokumentasi . . . . . . . . . . . . . . . . . . . . 24

3 Teknik Penulisan 273.1 Gaya . . . . . . . . . . . . . . . . . . . . . . . . . 273.2 Jenis Huruf dan Simbol . . . . . . . . . . . . . . 27

3

4 DAFTAR ISI4 Persiapan 29

4.1 Paket Program . . . . . . . . . . . . . . . . . . . 294.2 Text Editor . . . . . . . . . . . . . . . . . . . . . 29

II Python 315 Hello World 33

5.1 Aturan Penulisan . . . . . . . . . . . . . . . . . . 335.1.1 Indent . . . . . . . . . . . . . . . . . . . . 345.1.2 Baris Perintah . . . . . . . . . . . . . . . 345.1.3 Keterangan Program . . . . . . . . . . . . 35

5.2 Variabel . . . . . . . . . . . . . . . . . . . . . . . 355.3 Modus Interaktif . . . . . . . . . . . . . . . . . . 35

6 Tipe Data 376.1 Bilangan . . . . . . . . . . . . . . . . . . . . . . . 37

6.1.1 Operator . . . . . . . . . . . . . . . . . . 386.1.2 Pengelompokan Operasi . . . . . . . . . . 386.1.3 Pembulatan . . . . . . . . . . . . . . . . . 406.1.4 Bentuk Tampilan . . . . . . . . . . . . . . 40

6.2 String . . . . . . . . . . . . . . . . . . . . . . . . 416.2.1 Penjumlahan & Perkalian . . . . . . . . . 426.2.2 String Format . . . . . . . . . . . . . . . . 426.2.3 String Menjadi Integer - int() . . . . . . 436.2.4 String Menjadi Float - float() . . . . . . 436.2.5 Panjang String - len() . . . . . . . . . . 43

6.3 List . . . . . . . . . . . . . . . . . . . . . . . . . 436.3.1 Penambahan - append() & insert() . . 44

DAFTAR ISI 56.3.2 Penghapusan - del . . . . . . . . . . . . . 446.3.3 String Sebagai List . . . . . . . . . . . . . 456.3.4 Pemenggalan . . . . . . . . . . . . . . . . 456.3.5 Panjang List - len() . . . . . . . . . . . . 456.3.6 List Dalam List . . . . . . . . . . . . . . . 456.3.7 Membalikkan Urutan - reverse() . . . . 476.3.8 Mengurutkan - sort() . . . . . . . . . . . 476.3.9 Menyalin - list() . . . . . . . . . . . . . 48

6.4 Dictionary - Key & Value . . . . . . . . . . . . . 486.4.1 Daftar Kunci - keys() . . . . . . . . . . . 496.4.2 Daftar Nilai - values() . . . . . . . . . . 496.4.3 Menambah Atau Mengubah Nilai - update() 496.4.4 Menghapus - del . . . . . . . . . . . . . . 49

6.5 Mengetahui Tipe Data - type() . . . . . . . . . 506.6 Daftar Fungsi Suatu Objek - dir() . . . . . . . . 50

7 Kondisi 517.1 Bentuk Logika . . . . . . . . . . . . . . . . . . . 527.2 Selain Itu - else . . . . . . . . . . . . . . . . . . 537.3 Selain Itu Jika - elif . . . . . . . . . . . . . . . 537.4 Operator Perbandingan . . . . . . . . . . . . . . 547.5 Operator Logika . . . . . . . . . . . . . . . . . . 55

7.5.1 Bukan - not . . . . . . . . . . . . . . . . . 557.5.2 Semua Kondisi Terpenuhi - and . . . . . . 557.5.3 Salah Satu Kondisi Terpenuhi - or . . . . 56

8 Perulangan - Loop 598.1 Jumlah Perulangan Ditetapkan - for . . . . . . . 598.2 Selama - while . . . . . . . . . . . . . . . . . . . 60

6 DAFTAR ISI8.3 Keluar Dari Perulangan - break . . . . . . . . . 62

9 Fungsi 639.1 Nilai Masukan . . . . . . . . . . . . . . . . . . . . 649.2 Nilai Keluaran - return . . . . . . . . . . . . . . 649.3 Memanggil Dirinya . . . . . . . . . . . . . . . . . 659.4 Kepemilikan Variabel . . . . . . . . . . . . . . . 659.5 Fungsi Interpreter - exec() . . . . . . . . . . . . . 66

10 File 6910.1 Baca Tulis . . . . . . . . . . . . . . . . . . . . . . 6910.2 Printer . . . . . . . . . . . . . . . . . . . . . . . . 70

10.2.1 Ukuran Huruf . . . . . . . . . . . . . . . . 7010.2.2 Ganti Halaman . . . . . . . . . . . . . . . 7010.2.3 Mencetak File . . . . . . . . . . . . . . . . 71

10.3 Direktori Aktif . . . . . . . . . . . . . . . . . . . 7211 Menangani Kesalahan - Exception 7312 Proyek String 75

12.1 Membuat Nomor Baris . . . . . . . . . . . . . . 7512.1.1 Awali Dengan Nol - zfill() . . . . . . . 7612.1.2 Penunjuk Pada File - seek() . . . . . . . 76

12.2 File Sebagai Tabel . . . . . . . . . . . . . . . . . 7612.2.1 Membelah String - splitfields() . . . . 7812.2.2 Hapus Karakter Tak Tampak - strip() . 7812.2.3 Rata Kiri dan Kanan - ljust() & rjust() 7812.2.4 Kunci Pada Dictionary - has_key() . . . 78

DAFTAR ISI 7III Qt 7913 Pendahuluan 8114 Aplikasi Pertama 83

14.1 Berorientasi Objek . . . . . . . . . . . . . . . . . 8414.2 Program Utama . . . . . . . . . . . . . . . . . . 8414.3 self . . . . . . . . . . . . . . . . . . . . . . . . . 8514.4 Fungsi Pada Objek . . . . . . . . . . . . . . . . . 85

15 Visual Class 8715.1 Buku Alamat . . . . . . . . . . . . . . . . . . . . 87

15.1.1 Parent dan Child . . . . . . . . . . . . . . 8915.1.2 Parent dan Owner . . . . . . . . . . . . . 8915.1.3 Dengan Atau Tanpa self . . . . . . . . . 9015.1.4 Modul qt . . . . . . . . . . . . . . . . . . 9015.1.5 String Atau QString . . . . . . . . . . . . 90

15.2 Sinyal . . . . . . . . . . . . . . . . . . . . . . . . 9115.2.1 Keterkaitan Dengan C++ . . . . . . . . . 9315.2.2 Sinyal atau Event . . . . . . . . . . . . . 9415.2.3 Membuat Event . . . . . . . . . . . . . . 95

15.3 Hiasan . . . . . . . . . . . . . . . . . . . . . . . . 9615.3.1 Font - QFont . . . . . . . . . . . . . . . . 9615.3.2 Warna - QColor . . . . . . . . . . . . . . 9815.3.3 Parent Berpengaruh . . . . . . . . . . . . 99

15.4 Ya Atau Tidak - QCheckBox . . . . . . . . . . . . 9915.5 Pilih Salah Satu - QRadioButton . . . . . . . . . 10115.6 Daftar Fluktuatif - QComboBox . . . . . . . . . . 10515.7 Listbox . . . . . . . . . . . . . . . . . . . . . . . 106

8 DAFTAR ISI15.8 Widget Aktif - Enable . . . . . . . . . . . . . . . 11015.9 LCD . . . . . . . . . . . . . . . . . . . . . . . . 11115.10Hanya Keyboard . . . . . . . . . . . . . . . . . . 113

15.10.1Tanpa Mouse . . . . . . . . . . . . . . . . 11315.10.2Tombol Keyboard . . . . . . . . . . . . . 11415.10.3NumLock . . . . . . . . . . . . . . . . . . 117

16 Kasir I 11917 Wadah - Container 123

17.1 Widget . . . . . . . . . . . . . . . . . . . . . . . . 12317.2 Panel . . . . . . . . . . . . . . . . . . . . . . . . 12317.3 Groupbox . . . . . . . . . . . . . . . . . . . . . . 12317.4 Multigroup . . . . . . . . . . . . . . . . . . . . . 127

18 Penataan 13118.1 Fleksibilitas Ukuran . . . . . . . . . . . . . . . . 13118.2 Fleksibilitas Posisi . . . . . . . . . . . . . . . . . 13318.3 Layout Dengan Metode Grid . . . . . . . . . . . 136

19 Waktu 13919.1 Jam . . . . . . . . . . . . . . . . . . . . . . . . . 13919.2 Tanggal - QDate . . . . . . . . . . . . . . . . . . 14019.3 Tanggal dan Jam . . . . . . . . . . . . . . . . . 14219.4 Timer . . . . . . . . . . . . . . . . . . . . . . . . 143

20 Form Dialog 14520.1 File Dialog . . . . . . . . . . . . . . . . . . . . . 14620.2 Pesan & Konrmasi . . . . . . . . . . . . . . . . 149

DAFTAR ISI 920.3 Input . . . . . . . . . . . . . . . . . . . . . . . . 152

21 Tabel 15521.1 Mengubah Sifat . . . . . . . . . . . . . . . . . . . 15721.2 Bentuk Tampilan . . . . . . . . . . . . . . . . . . 16121.3 Form Pencarian . . . . . . . . . . . . . . . . . . . 168

22 Kasir II 17523 Database 179

23.1 Membuat Database . . . . . . . . . . . . . . . . . 18023.1.1 PostgreSQL . . . . . . . . . . . . . . . . . 18023.1.2 MySQL . . . . . . . . . . . . . . . . . . . 181

23.2 Form Login . . . . . . . . . . . . . . . . . . . . . 18123.3 Membuat Tabel . . . . . . . . . . . . . . . . . . . 18523.4 Query . . . . . . . . . . . . . . . . . . . . . . . . 185

23.4.1 Current Record . . . . . . . . . . . . . . . 18923.4.2 Variant . . . . . . . . . . . . . . . . . . . 190

23.5 Cara Lain Menangani Tabel . . . . . . . . . . . 19123.5.1 Browsing . . . . . . . . . . . . . . . . . . 19223.5.2 Bentuk Tampilan . . . . . . . . . . . . . . 19323.5.3 Pengganti Perintah SQL . . . . . . . . . . 19623.5.4 NULL . . . . . . . . . . . . . . . . . . . . . 19723.5.5 Pengisian Data yang Lebih Nyaman . . . 19823.5.6 Urutkan - Sort . . . . . . . . . . . . . . . 21023.5.7 Nomor Urut - Autoincrement . . . . . . . 213

24 Kasir III 21724.1 Struktur Tabel . . . . . . . . . . . . . . . . . . . 217

10 DAFTAR ISI24.2 Daftar Barang . . . . . . . . . . . . . . . . . . . 21824.3 Penyimpanan Data . . . . . . . . . . . . . . . . . 21924.4 Pencetakan . . . . . . . . . . . . . . . . . . . . . 21924.5 Program . . . . . . . . . . . . . . . . . . . . . . . 21924.6 Laporan . . . . . . . . . . . . . . . . . . . . . . . 225

24.6.1 Barang Terlaris . . . . . . . . . . . . . . . 22524.6.2 Total Penjualan Harian . . . . . . . . . . 22624.6.3 Rata-rata Penjualan Harian . . . . . . . . 22624.6.4 Jam Sibuk . . . . . . . . . . . . . . . . . . 226

Daftar Tabel

6.1 Operator Bilangan . . . . . . . . . . . . . . . . . 396.2 Contoh pemenggalan list . . . . . . . . . . . . . . 467.1 Operator Perbandingan . . . . . . . . . . . . . . 547.2 Operator Logika . . . . . . . . . . . . . . . . . . 57

11

12 DAFTAR TABEL

Daftar Gambar

1.1 Siklus Pengembangan Program (development cycle) 196.1 Nomor index pada list . . . . . . . . . . . . . . . 4514.1 Hello World ! . . . . . . . . . . . . . . . . . . . . 8415.1 Form Alamat . . . . . . . . . . . . . . . . . . . . 8915.2 Checkbox . . . . . . . . . . . . . .