You are on page 1of 43

Modul Sistem Informasi Manajemen

Informasi mengalir baik secara vertikal (diantara manajer) dan juga horizontal (diantara departemen). Informasi pada level manajemen: 1. Top-level management akan lebih mementingkan gambaran besar dan perencanaan jangka panjang, memproyeksikan eveneven yang mungkin terjadi di masa depan. 2. Mid-level management akan lebih mementingkan system control dan perencanaan, serta implementasi tujuan jangka panjang. 3. Level Supervisor akan lebih berfokus pada kontrol operasional harian, memonitor even yang berlangsung dalam basis harian dan juga mensupervisi para pekerja. Hampir semua organisasi modern memiliki database terkomputerisasi yang mencatat aktivitas rutin harian yang kita kenal dengan transaksi. Ada beberapa level dari sistem informasi terkomputerisasi yaitu: 1. Sistem Pemrosesan Transaksi Mensubstitusikan pemrosesan berbasis komputer dari pencatatan manual, berhubungan dengan proses rutin yang telah terstruktur termasuk aplikasi pencatatan. Contohnya: Terdapat pada sistem informasi akuntansi yang mengontrol setidaknya 6 aktivitas: Pemrosesan sales order pencatatan pesanan dari konsumen Account Recievables memperlihatkan uang yang masih Sistem pembelian dan inventory ketersediaan tertahan di kustomer (uang piutang) perlengkapan dan barang jadi dan barang-barang persediaan dan servis yang telah dibeli Brenk 06.17.1.0006

Account payable menunjukan hutang Pembayaran menunjukkan cek, pembayaran gaji,

tunjangan, dll. Buku besar menunjukkan semua transaksi di atas

2. Sistem Informasi Manajemen Menyediakan input yang digunakan dalam proses penentuan keputusan informasi manajerial, dapat berfungsi untuk mendukung situasi pengambilan keputusan yang terstruktur dimana kebutuhan diantisipasi. sistem database Sistem informasi manajemen untuk membutuhkan mengintegrasikan yang berbeda. Sebuah SIM dapat mengeluarkan laporan yang berbeda-beda: 3. Laporan periodic dikeluarkan dengan interval yang Exception report menunjukan even-even yang belum Laporan permintaan dikeluarkan pada saat dibutuhkan Sistem Pendukung Pengambilan Keputusan regular diperhitungkan sebelumnya (on-demand) Menyediakan informasi kepada manajer yang harus membuat keputusan dalam situasi-situasi tertentu, mendukung pengambil keputusan dalam situasi yang tidak terstruktur dengan baik. DSS (decision support system) terdiri dari pengguna, software, database, dan model pengambilan keputusan yang memberikan sistem tersebut kemampuan analitis. 4. Sistem Support Eksekutif Sistem berbasiskan computer yang kompatibel dengan gaya kepemimpinan manajemen dan tanggung jawab eksekutif. Brenk 06.17.1.0006 manajemen kepada database

departemen-departemen

5.

Expert Support System

Sebuah program computer yang menggunakan data dan aturanaturan tertentu untuk menyerupai keputusan yang mungkin dibuat oleh pakar. Sistem ini didesain untuk mendukung penggunanya 6. dengan merekomendasikan keputusan yang spesifik, merekomendasikan aksi, atau membuat prediksi. Work Group Support System otomatis yang diarahkan untuk membuat pekerja Sistem

semakin produktif dengan mengubh struktur dan aktifitas dari kantor dan juga work group lainnya.

Sistem Informasi Manajemen


Daur hidup dari pengembangan sistem 1. Investigasi awal 2. Analisa sistem 3. Desain sistem 4. Pengembangan sistem 5. Pelatihan dan implementasi sistem 6. Perawatan sistem

A. Investigasi awal Investigasi awal akan menentukan kebutuhan apa saja yang diperlukan bagi sistem informasi yang baru. Tugasnya: a. Mendefinisikan problem, informasi apa yang dibutuhkan dan oleh siapa, kapan b. Menyarankan sistem alternatif c. Mempersiapkan laporan singkat kepada tim manajemen

Brenk 06.17.1.0006

B. Analisa sistem, data dikumpulkan tentang sistem yang sudah ada Tugasnya: a.Mengumpulkan data, menggunakan teknik observasi, interview, dan questionnaire dan melihat pada dokumendokumen yang telah lalu seperti chart organisasi b. c. d. Menganalisa data menggunakan beberapa alat analisa Menunjukkan hubungan antara input dan output dari Tabel keputusan yang menunjukan keputusan apa yang

dokumen harus diambil ketika kondisi-kondisi tertentu terjadi dan hasil apa yang dapat diharapkan menggunakan system flowchart dan juga data flow diagram.

C. Desain sistem, terdiri dari: a. Mendesain sistem Sistem alternative kemudian menggunakan dievaluasi alat-alat pemrograman. feasibilitasnya

secara ekonomi, teknikal, dan operasional b. Memilih sistem yang paling baik, yaitu sistem yang fleksibel, aman, dan efektif dari sisi biaya c. Menulis laporan desain sistem, mendeskripsikan fase ini untuk manajemen. DFD biasanya digunakan untuk dokumen dan untuk menganalisa data flow dan informasi dalam sistem. D. Pengembangan sistem a. Pengembangan perangkat lunaknya b. Pengadaan perangkat keras c. Pengetesan sistem baru E. Pelatihan dan implementasi sistem

Brenk 06.17.1.0006

Konversi adalah proses perubahan dari sistem lama ke sistem baru. Tipe-tipe konversi: a. Pendekatan langsung, meninggalkan sistem lama dan langsung memakai sistem yang baru b. Pendekatan parallel, mencoba sistem baru hanya pada satu atau sedikit bagian dari organisasi c. Pendekatan gradual. F. Perawatan Sistem a. Audit sistem, analist dari sistem membandingkan sistem yang baru dengan spesifikasi desain yang telah ditentukan di awal untuk melihat apakah sistem tersebut produktif b. Evaluasi secara periodik dan diperbaharui bila dibutuhkan bertahap, yaitu implementasi sistem secara

Bahasa Pemrograman
Generasi Pemrograman 1st 2nd 3rd 4th 5th mesin assembly problem natural 10010001 pack 210(8,13) end name=JONES IF patient is dizzy, THEN check temperature and blood pressure Program adalah sebuah daftar dari instruksi unuk diikuti computer sebagai alat untuk melakukan tugas. Instruksi tersebut dibuat dengan pernyataan-pernyataan yang dibuat dalam bahasa pemrograman (seperti Basic)

procedural overtime:=0

Brenk 06.17.1.0006

Dalam pemrograman ada 6 langkah yang dapat kita ikuti: Langkah 1: Definisikan masalahnya Analisis program terdiri dari klasifikasi empat tugas: Menentukan memfokuskan diselesaikan. Menentukan output yang diinginkan sebelum memikirkan tentang input yang dibutuhkan. Menentukan data input dan sumber data. Menentukan kebutuhan pemrosesan ataupun langkah-langkah yang dibutuhkan untuk menggunakan data input untuk menghasilkan data output Langkah 2: Keputusan membuat atau membeli Keputusan membeli atau membuat adalah pilihan antara membuat program yang dapat dikustomisasi oleh programmer atau membeli paket software yang telah ditulis oleh pihak ketiga. Perangkat lunak yang dibuat sendiri dapat dibuat secara persis disesuaikan dengan kebutuhan-kebutuhan perusahaan. obyektif diri dari program tersebut spesifik dengan untuk pada problem-problem

Paket software yang dibeli dapat menghemat waktu dan uang tetapi biasanya tidak persis sesuai dengan kebutuhan-kebutuhan perusahaan.

Keputusan dibuat dengan memperbandingkan program dengan biaya dan waktu yang dibutuhkan untuk membuatnya.

Brenk 06.17.1.0006

Langkah 3: Desain program Bila program tersebut dibuat sendiri, dalam desain program, sebuah Yes IF (test condition) No

THEN (Statement)

ELSE (Statement)

solusi didesain menggunakan teknik pemrograman terstruktur, terdiri dari: Desain program top-down, langkah-langkah pemrosesan besar, disebut juga sebagai modul dalam pemrograman, diidentifikasikan. Pseudocode ekspresi-ekspresi naratif dari logika pemrograman ditulis Flowchart representasi grafik dari langkah-langkah yang dibutuhkan untuk menyelesaikan sebuah masalah pemrograman Struktur logika 3 pengaturan digunakan dalam flowchart program untuk menulis program terstruktur Tiga struktur logika: Sequence satu pernyataan pemrograman diikuti dengan pernyataan lainnya

Brenk 06.17.1.0006

Seleksi (atau IF THEN ELSE) ketika keputusan harus dibuat Loop ketika proses diulang selama beberapa kali hingga waktu yang ditentukan

Langkah 4: Mulai tulis kode pemrograman Coding adalah penulisan program. Ada beberapa aspek penting dalam pemrograman: Kualitas program program yang baik terstruktur menggunakan struktur logika Pemilihan bahasa bahasa pemrograman harus dipilih sesuai dengan problem yang dihadapi dan juga sistem komputer yang digunakan. Langkah 5: Debug Program (tes ulang program) Debugging adalah pengetesan program untuk meminimalisir kesalahan dalam sintaks bahasa pemrograman dan juga kesalahan logika pemrograman. Metode ini terdiri dari: Desk checking secara teliti membaca print out dari sebuah program Testing manual menggunakan data sample untuk mengetes hasil pemrosesan yang benar Percobaan translasi menjalankan program menggunakan komputer menggunakan program translator Mengetes data sample mengetes program untuk eror dalam logika dalam sebuah komputer menggunakan data sampel. Langkah 6: Pendokumentasian Program Dokumentasi terdiri dari deskripsi tertulis dari sebuah program dan prosedur yang harus dijalankan bagi pengguna, dan juga operator dan

Brenk 06.17.1.0006

programmer

selama

perawatan

program

modifikasi

ataupun

pembaharuan program Pengguna perlu tahu bagaimana menggunakan program dan memasukan data untuk menghasilkan hasil yang diinginkan Operator perlu tahu bagaimana cara mengeksekusi program dan memperbaiki kesalahan Programmer perlu tahu agar dapat menjelaskan bagaimana program tersebut bekerja dan merawat program di masa depan.

SEKILAS PEMROGRAMAN VISUAL FOXPRO

A. Pengertian Dasar Object-oriented programming Bagi pemula dalam pemrograman object-oriented harus betul-betul memahami lima buah konsep, yaitu: class, object, property, event, dan method/procedure. Class adalah kumpulan instruksi/informasi yang menunjukkan bagaimana sebuah object harus bekerja. Object adalah sebuah bentuk konkret dari suatu class. Contoh object dalam Visual FoxPro adalah: command button, textbox, dll. Setiap object memiliki: Property (karakteristik), misalnya: warna object (forecolor/backcolor), tulisan yang ditampilkan object tertentu (caption), serta apakah object tersebut tampak atau tidak waktu program dijalankan (visible). Brenk 06.17.1.0006

Event, yaitu kejadian-kejadian yang terjadi atas object tertentu. Misalnya, waktu sebuah object dibuat/diciptakan (init), object tersebut diaktifkan (activate) dan waktu object itu di-click dengan mouse (click event)

Method/procedure adalah program khusus yang terkait dengan suatu object tertentu.

B. Pengalamatan Object Pada prakteknya, dalam Object Oriented Programming (OOP) kita harus sering mengalamati object. Misalnya, kita membuat instruksi di sebuah object (disebut current object), untuk mengubah caption dari suatu object lain menjadi tulisan "ABC.

Perhatikan gambar ini: Object H (form) Object D Object E Object F Object G Object C Object B Object A

Maka jika current object adalah Object A, maka untuk mengalami: -Object A ... THIS.Caption="ABC" -Object B ... THISFORM.objectC.objectB.Caption="ABC" -Object C ... THISFORM.objectC.Caption="ABC" -Object D ... THISFORM.objectD.Caption-"ABC" -Object G ... THISFORM.objectD.objectE.objectF.objectG.Caption-"ABC"

Brenk 06.17.1.0006

-ObjectH ... THISFORM.Caption="ABC" Jika object yang paling luar adalah sebuah formset dan bukannya form, maka pengalamatan harus dimulai dengan TH1SFORMSET. Beberapa Property Umum 1. Name (nama) Property ini sangat penting, merupakan nama object itu sendiri dan dipakai lebih lanjut untuk mengalamati object yang bersangkutan. Penamaan object memiliki beberapa konvensi, mislanya: untuk form diawali frm, untuk command button diawali dengan cmd, untuk textbox diawai txt,dsb. 2. Caption (judul) Property ini mengandung teks yang akan ditampilkan seandainya object tersebut memiliki judul. Caption biasanya harus ditentukan untuk form dan unutk command button serta halaman-halaman dari pageframe.

3. Visible (terlihat) Apabila visibile ditentukan .T.(true), maka object itu akan terlihat waktu dijalankan sedangkan bila ditentukan .F. (false), maka object itu tidak terlihat waktu program dijalankan. 4. Enabled Apabila enabled ditentukan ,T.(true) maka object yang bersangkutan dapat dimanipulasi (di-click, diubah isinya, dsb) sedangkan jika enabled adalah F. maka hal tersebut tidak bisa dilakukan. 5. Value (nilai awal) Secara umum, merupakan nilai awal/teks awal yang tertulis pada sebuah object. Kadang-kadang nilai/teks awal tersebut dapat diganti dan kadang-kadang tidak, tergantung jenis objectnya.

Brenk 06.17.1.0006

6.Alignment (perataan teks) Menentukan apakah teks ditampilkan rata kanan, rata kiri atau rata tengah. Beberapa object Umum 1. FORM Form adalah object utama yang otomatis dibuat oleh Visual FoxPro pada waktu pengetikan perintah MODIFY FORM. FORM dapat mengandung semua object yang lain, kecuali formset yang lebih luas karena sebuah formset dapat mengandung beberapa form. Property khusus: MaxButton, tombol MinButton, ControlBox: dan ukuran menentukan apakah control form MenuBox tersebut maximize, minimize,

ditampilkan atau tidak. WindowSlate: menentukan waktu program dijalankan. 2. LABEL Sesuai dengan namanya, object yang biasanya menampilkan teks tertentu seperti: judul, keterangan, dan Iain-Iain. Label tidak memiliki data source, tidak dapat diedit secara Iangsung, tidak dapat di-click atau ditab. 3. TEXT BOX Textbox dipergunakan untuk mengisikan input yang tidak dapat ditentukan sebelumnya. Jika Value tidak diberi nilai awal, maka isi textbox dianggap character, sedangkan jika diberi nilai awal berupa angka, maka angka dianggap numeric. Property khusus:

Brenk 06.17.1.0006

a.

ControlSource: menentukan field dan table mana merupakan sumber data textbox yang

yang b.

bersangkutan. lnputMask: menentukan karakter apa yang dapat diketikkan ke dalam textbox tersebut. X semua karakter dapat diisikan 9 angka dan tanda (+/) dapat diisikan # angka, tanda, dan blank dapat diisikan Y membatasi pengisian hanya bisa Y dan N $ dan $ menambahkan tanda currency * tempat kosong akan diisi tanda bintang/asterik . menunjukkan jumlah desimal yang dikehendaki , membubuhkan pemisah ribuan c. Format: menentukan bagaimana karakter yang merupakan value dari textbox itu akan ditampilkan. A hanya menerima huruf (spasi & tanda baca tidak diterima) D menggunakan format date dengan SET DATE E mengedit data jenis Date sebagai British K menyeleksi textbox waktu kursor dipindahkan ke textbox L mengisi semua tempat kosong dengan nol M memberikan pilihan dalam InputMask ! mengubah huruf kecil menjadi huruf besar d. PasswordChar: menentukan karakter apa yang akan ditampilan waktu user mengisikan password.

4. EDIT BOX

Brenk 06.17.1.0006

Edit

Box

berguna field

untuk memo

dipakai atau field

mengisi/mengedit/menampilkan character yang sangat panjang. Property khusus:

a. ControlSource. lsikan nama table (file DBF) dan nama field yang terkait dengan edit box tersebut. Misalnya: File DBF nama field customer.kodecust

b. Readonly: menentukan apakah user diperbolehkan mengubah teks yang ada di text box. c. Scrollbars: apakah textbox akan diberi scroll bar atau tidak. 5. COMMAND BUTTON Merupakan object yang paling penting dan paling sering digunakan, sebab biasanya dipakai untuk memerintahkan kepada program untuk melakukan suatu proses. Event khusus: click 6. COMMAND GROUP Kadang-kadang memberikan kemudahan, yaitu membuat sekelompok command button sekaligus dimana procedure untuk click event-nya dapat dibuat sekaligus pula pada command button group. Contohnya: RELEASE THIS FORM (untuk keluar dari form tersebut) Event khusus: Click Property khusus: Brenk 06.17.1.0006

Button count, menyatakan berapa tombol yang terdapat di dalam group

7. OPTION GROUP Option Button Group merupakan sebuah container yang mengandung beberapa Option Buttons: Object ini biasanya untuk memaksa user agar hanya dapat memilih satu dari sejumlah pilihan. Property khusus: a. ButtonCount: menentukan berapa pilihan di dalam group b. Value: menentukan option mana yang telah terpilih (option pertama=1, kedua=2, dst) 8. CHECKBOX Berbeda program dengan Option Group biasanya sebuah aplikasi menampilkan sekelompok check box di

mana user dapat memilih salah satu atau beberapa dari pilihan yang diajukan. Namun demikian, masing-masing checkbox hanya dapat berstatus .T. atau .F. atau NULL. Apabila sebuah checkbox dikaitkan dengan sebuah field logical, maka jika sebuah record adalah .T. akan diberi tanda X, sedangkan jika .F. akan dikosongkan. Property khusus: a. Value: menyatakan status dari pada checkbox b. Control Source: keterkaitan checkbox dengan sebuah field tertentu. 9. COMBO BOX

Brenk 06.17.1.0006

Combo box merupakan kombinasi daripada sebuah list box dan text box. Ada dua jenis combo box: Dropdown Combo dan Dropdown List. Property khusus: a. Control Source: menentukan tabel (file DBF) yang merupakan sumber dari mana pilihan diperoleh. b. RowSourceType: menentukan jenis input yang diharapkan.

0 - None 1 - Value (pilihan ditulis Iangsung diproperti ini) 2 - Table (pilihan diperoleh dari Table (file DBF) 3 - SQL Statement (pilihan diperoleh dari rumus SQL query) 4 - QPR (pilihan diperoleh dari file OPR) 5 - Array (pilihan diperoleh dari variable array) 6 - Fields (pilihan diperoleh dari fields tertentu) c. RowSource: menentukan secara spesifik sumber dari pilihan-pilihan yang ada Hal ini harus sesuai dengan RowSourceType. d. Style: memilih antara Dropdown Combo dan Dropdown List. 10. LIST BOX Mirip dengan ComboBox,sebuah List Box biasa dipakai untuk menampilkan sebuah daftar pilihan. Property Khusus: a. ColumnCount: menentukan jumlah kolom di dalam List Box. b. ColumnWidths: menentukan lebar masing-masing kolom di dalam Listbox. Contoh penulisan: 25,100,50

Brenk 06.17.1.0006

artinya kolom pertama lebamya 25, kolom kedua 100, dan ketiga lebamya 50. c. ControlSource: menunjukkan dimana nilai yang terkandung di dalam ListBox disimpan. d. RowSource & RowSourceType: lihat penjelasan ComboBox. 11. SPINNER Spinner biasanya dipakai untuk membuat pilihan numeric atas sederetan nilai. Pengisian spinner dapat langsung diketikkan, dan dapat juga dengan meng-click mouse pada tanda panah di sebelah kanan spinner.

Property khusus: a. KeyboardHighValue&KeyboardLowValue: menentukan nilai terbesar dan terkecil yang dapat diisikan melalui keyboard. b. SpinnerHighValue&SpinnerLowValue: meng-click mouse. c. Interval: berapa nilai yang 'diloncat' setiap kali user menekan tombol mouse. 12. GRID Seperti yang terlihat pada gambar diatas, sebuah Grid dapat mengandung beberapa Columns dan Headers. Masing-masing grid, column dan header merupakan object tersendiri. Property khusus: a.ColoumnCount: menentukan berapa banyak column menentukan nilai terbesar dan terkecil yang dapat diisikan dengan

Brenk 06.17.1.0006

yang terdapat di dalam grid. (Jika diisi -1, maka jumlah column otomatis sama banyaknya dengan jumlah field dari tabel (file DBF) yang terasosisi dengan Grid tersebut). b. Recordsource & RecordSourceType: hal ini sama dengan Row Source dan RowSourceType pada combo box. CATATAN: untuk mengubah lebar setiap kolom. Letakkan mouse cursor pada batas diantara dua header sampai bentuk cursor berubah, lalu click and drag. 13. IMAGE Dipakai untuk menampilkan sebuah gambar (file .BMP) pada form. Property khusus: Picture: disini disebutkan nama file gambar (.BMP) yang harus ditampilkan.

14. TIMER Timer adalah suatu objek yang khas, karena pada saat runtime (program terlihat. jalannya Yang dijalankan), objek ini tidak akan hanyalah pengaruhnya atas Timer akan melakukan sebuah terasa

program.

procedure tertentu secara berulang-ulang setiap kali sejumlah waktu telah berlalu. Event harus memberikan khusus: Timer. Ini adalah kepada event dimana program, yang kita apa dibuatkan procedurenya,

perintah-perintah

Brenk 06.17.1.0006

yang harus dilakukan timer setiap kali interval waktu itu telah lewat. Property khusus: Interval: lamanya objek Timer harus menunggu sebelum melakukan suatu proses. Satuan interval yang dipergunakan adalah milisecond. Misalnya, jika interval ditentukan 500, maka berarti Timer akan mengulang kegiatannya setiap setengah detik sekali. I5. PAGEFRAME Page frame merupakan sebuah container yang mengandung beberapa objek lain, yaitu page. Property khusus: Pagecount: menentukan jumlah pages yang terdapat di dalam Page frame.

Ringkasan Perintah, Fungsi dan Procedure Visual FoxPro


Catatan: Untuk penjelasan lebih rinci, lihat fasilitas HELP dan Visual FoxPRO Perintah Penjelasan

Brenk 06.17.1.0006

NOTASI

<...> artinya harus diisi [...] artinya boleh diisi jika dikehendaki / artinya merupakan pilihan, misalnya ON atau OFF expC artinya ekspresi character expN artinya ekspresi numeric expD artinya ekspresi date expL artinya ekspresi logical menyatakan bahwa perintah

; (titik koma) APPEND BLANK

masih

bersambung ke baris berikutnya Menambahkan record baru yang kosong pada tabel yang aktif serta memindahkan record pointer ke record baru tersebut. Menampilkan karakter ASCII dengan nilai ASCII=n CHR(13)akan menghasilkan karakter enter atau return Membatalkan perintah READ EVENTS dan menyebabkan perintah yang FoxPRO terdapat di melaksanakan bawah READ

CHR(n)

CLEAR EVENTS

CLEAR MEMORY CLEAR WINDOWS

EVENTS yang dibatalkan tersebut. Menghapus semua variable memory, baik yang private maupun yang public. Menghapus semua windows (form) yang telah dibuat oleh user. Tidak menghapus window yang dibuat oleh FoxPro. Menutup semua database, table dan index files yang sedang aktif. Mengubah sebuah variable karakter menjadi variable date. Menghasilkan tanggal hari ini berupa variable date. Menghasilkan nilai numeric dari tanggal dari sebuah variable date. Misalnya, tgl 2 Juni 1997, maka DAY-nya adalah 2.

CLOSE ALL CTOD(<expC>) DATE() DAY(<expD>)

Brenk 06.17.1.0006

DELETE DO FORM <formname> DO <programname/menuna me> DO(<expD>)

Menandai record yang sedang ditunjuk record pointer dengan tanda delete (*) Menjalankan sebuah form Menjalankan sebuah program atau menu

Menghasilkan nilai numeric dari hari sebuah variable date (minggu=l, senin=2, selasa=3, dst) Mengubah

DTOC(<expD>) EOF()

sebuah

variable

date

menjadi

character EOF() akan bernilai .T> jika record pointer sedang berada di EOF, dan bernilai .F> jika tidak. Memindahkan record pointer ke record paling bawah. Memindahkan record pointer ke record paling terpenuhi, kalau karakter maka tidak I1F IIF

GO BOTTOM GO TOP

atas. IIF(<condition>,<expl>,< Jika <condition> exp2>) LEFT(<expC>,<ExpN>) MESSAGE([1]) menghasilkan

<expl>,

menghasilkan <exp2> Mengambil sejumlah

sebanyak

<expN> dari string <expC> MESSAGE() akan menampilkn baris program yang menyebabkan error. MESSAGE () akan menampilkan pesan kesalahan pada saat error. Menghasilkan sebuah dialog box dimana: cMessageText adalah pesan yang tampil di dalam Messagebox. cTitlebarText adalah judul yang tampil di atas Messagebox nDialogBoxType adalah sebuah nilai yang menentukan tombol maupun lambang yang muncul pada messagebox. Nilai yang menentukan tombol:

MESSAGEBOX(cmessaget ext,[nDialogBoxType], [cTitleBartext])

Brenk 06.17.1.0006

0 1 2 3 4 5 16 32 48 64 Jadi, kalau dengan lambang

OK OK, Cancel Abort, Retry, Ignore Yes, No, Cancel Yes, No Retry, Cancel Stop Tanda tanya (?) Tanda seru (!) Informasi (i) dikehendaki OK dan tanda messagebox cancel serta maka tombol

Nilai yang menentukan lambang:

seru,

nDialogBoxType = 1 + 48 + 49 Messagebox dapat pula mendeteksi input yang diberikan user: Jika user mengklik OK, maka nilainya adalah: 1 Jika user menklik Cancel, maka nilainya adalah: 2 Jika user menklik Abort, maka nilainya adalah: 3 Jika user menklik Retry, maka nilainya adalah: 4 Jika user 5 menklik Ignore, maka nilainya adalah: 6 Jika user menklik No, maka nilainya adalah: 7

Jika user menklik Yes, maka nilainya adalah:

Brenk 06.17.1.0006

MIN(<expNl>,<expN2>)

MIN akan menampilkan nilai yang terkecil antara <expN1> dan <expN2> Lawannya adalah MAX Perintah untuk membuat project bam atau akan ke ON ON

MODIFY

PROJECT<projectname> mengedit project yang sudah ada ON ERROR ON ERROR DO <filename> [DO<filename>] menyebabkan <filename> ERROR PUBLIC<memvar> akan program membatalkan berpindah terjadi error. perintah seandainya

ERROR Do<filename> Menciptakan variable memo besifat public Jika didalam sebuah program atau procedure dibuat sebuah variable memori, maka variable itu bersifat provate, artinya pada umumnya variable itu hanya dapat dipergunakna oleh program/procedure yang bersangkutan. Jika perlu dibuat sebuah variable memori yang harus dapat dialihkan dari satu program ke program yang lain, maka definisikan dulu variable itu sebagai variable PUBLIC, hal ini berarti bahwa semua program/procedure diperkenankan menggunakannya Perintah ini menyatakan agar program yang sedang dijalankan akan disuspend dahulu, dan VisualFoxPRO menjalankan events,

READ EVENTS

dengan perkataan lain akan menjalankan form RELEASE THISFORM yang sedang aktif, Menghapus form yang sedang dijalnakan dari memori. REPLACE<field>,WITH<e xp >[,<field>,WITH<exp>,... Secara efektif hal ini berarti menghentikan kerjanya form tersebut. Mengganti isi field dari record yang sedang ditunjuk pointer dengan <exp>

Brenk 06.17.1.0006

] REPORT FORM<reportname>[TOP RI [NOCONS OLE][PREVIEW| Secara umum akan mencetak sebuah report. TO PRINTER menentukan agar pencetakan FILE PROMPT menampilkan printer setting dialog box NONCONCOLE agar apa yang dicetak tidak turut ditampilkan di monitor RGB(<expNl>,<expN3>) PREVIEW untuk menampilkan print preview Menentukan warna yang ditampilkan di monitor <expNl> menentukan warna RED, intensitas dari 0 (paling gelap) sampai 225 (paling terang) <expN2> intensitas menentukan dari 0 sampai warna 225 GREEN, <expN3> NTER][PROMPT] dilakukan ke printer, sebagai lawan dari TO

menentukan warna BLUE, intensitas dari 0 sampai 225 Warna hitam diperoleh lewat RGB (0,0,0) sedangkan warna putih dari RGB (225,225,225) Warna-warna lain dapat diperoleh dengan ROUND(<expN>,<n>) SEEK<exp> mengubah-ubah ketiga nilai tersebut Membulatkan nilai numeric <expN> sampai <n> desimal Mencari suatu record di table yang aktif yang sesuai dengan <exp> Untuk dapat melakukan SEEK maka table itu harus sudah terindeks SELECT<fields>FROM<ta bles>[WHERE<condition >l;[ORDERBY<field>] Brenk 06.17.1.0006 sesuai dengan <exp> Cara melakukan query dengan menggunakan SQL (structure query language) SELECT <fields> menenukan fields mana yang

[INTOCURSOR<cursorna me>] -SQL Statement

akan

ditampilkan

FROM

<tables>

menunjukkkan asal usul fields tersebut WHERE <condiiton> menyaring hanya records yang akan ditampilkan adalah yang memenuhi syarat<condition> ORDER BY <fields> menentukan yang cara akan akan pengurutan ditampilkan INTO CURSOR <cursorname> menyebabkan hasil query tersebut disimpan dalam sebuah cursor. "Cursor" disini meruapkan sebuah label yang dibuat SQL untuk menyimpan hasil query. Cursor ini bersifat temporary dan read only, tidak seperti file table (DBF) Apabila ada beberapa table yang diaktifkan sekaligus, menempati maka masing-masing sendiri di table dalam workareanya record-record

SELECT<workareaname> -XbaseCommand

RAM. Untuk menentukan table mana yang hendak kita pergunakan pada suatu saat, maka workareanya harus di SELECT dulu. Pada prakteknya, <workarea name> adalah sama SET DEFAULT TO <drive:><path> SET DELETED ON/OFF dengan nama tabel yang menempatinya. Menentukan drive dari subdirectory dimana FoxPRO akan mencari data-datanya SET DELETED ON akan menyebabkan record yang telah ditandai DELETE (tanda *) tidak ditampilkan SET HELP lagi di layar monitor. SET DELETED OFF membatalkan perintah itu. TO SET HELP TO <tablename> akan menyebabkan isi dari <tablename> itu yang akan Brenk 06.17.1.0006 ditampilkan sewaktu user menekan

[<tablename>]

tombol F1. Untuk mengembalikan ke help system Visual FoxPRO berikan perintah SET SET ORDER TO<n> HELP TO. Jika sebuah table memiliki beberapa indeks, maka SET ORDER TO merupakan perinah bagi Fox untuk menentukan apakah table yang akan SET STATUS BAR TO DEFAULT SET diurut berdasarkan indeks pertama, kedua, dst. Menampilkan atau menghilangkan status bar.

SYSMENUTO Mengembalikan menu yang telah dibuat user ke menu aslinya Visual FoxPRO. SET TALK OFF menyebabkan komentar-

DEFAULT SET TALK OFF/ON

komentar Visual FoxPRO yang kadang-kadang menganggu tidak lagi ditampilkan. SET TALK SKlP[n] ON membatalkannya. Memindahkan record pointer sejumlah tempat maju atau mundur dalam table. SKIP turun satu SKIP 5 akan menyebabkan record ponter turun lima tempat SKIP -3 akan menyebabkan record pointer naik STR(<expN>,[places], [desimals] tiga tempat Mengubah nilai numeric, <expN> menjadi character, [places] menyatakan berapa lebar tempat yang hendak disediakan untuk <expN> [desimals] SUBSTR(<expC>,n,m) SUM(<exp>),To<memvar > menyatakan berapa banyak desimal yang dikehendaki Mengambil dari string <expC> sejumlah <m> karakter, mulai dari posisi ke-n. Menjumlah <exp> dan menyimpannya variabel memori <memvar> di akan menyebabkan record pointer

Brenk 06.17.1.0006

THISFORMREFRESH

Menyebabkan berbagai object dalam form di update sehingga menampilkan keadaan table pada saat ini. Misalnya pada sebuah textbox telah tampil record dengan #1 dari sebuah table. Kemudian maka sebuah commandbutton,

dilakukan SKIp. Record pointer sebenamya telah berpindah, tetapi textbox itu masih saja menampilan record#1. Supaya textbox dapat menampilkan record yang sekarang sedang ditunjuk, TIME() VAL(<expC> WAIT WINDOW<expC> maka berikan saat ini, perintah dalam THISFORM.REFRESH Menampilkan jam/waktu

bentuk character. Mengubah sebuah character <expC> menjadi numeric. Membuat sebuah window kecil di kanan atas layar berisi pesan <expC>. Program baru meneruskan jika user menekan sembarang tombol. Menghasiikan nilai tahun dalam empat digit dari sebuah nilai date

YEAR(<expD>)

Files yang dihasilkan Visual FoxPRO Project PJK, PJT Menu Tables Class Index

DBF VCX, VCT CDX

MPX, MPR, MNX, MNT

Reports FRT, FRX Form

SCX, SCT

Program PRG, FXP

Perintah pencabangan dalam visual FoxPRO Fungsi IF IF<syarat> Brenk 06.17.1.0006 Fungsi Case DO CASE

ELSE ENDIF

CASE <syarat> CASE <syarat> OTHERWISE ENDCASE

Pengenalan Object Oriented Programming dalam Visual FoxPro 7.0


Object-oriented programming, merupakan salah satu inovasi baru dalam dunia pemrograman. Pemrograman cara klasik menuntut seorang programmer untuk memikirkan urut-urutan dan alur pengerjaan perintah program dari baris pertama sampai ke baris terakhir. Dalam object-oriented programming, Anda harus memahami sebuah program aplikasi sebagai sekumpulan object-object yang masing-masing memiliki komponen dan fungsi tersendiri.

Project Manager
Project Manager mempunyai dua tujuan utama : Menolong pengaturan file untuk project berdasarkan tipe filenya. Merupakan sebuah kontainer untuk mengumpulkan komponen

Brenk 06.17.1.0006

dari aplikasi dalam rangka persiapan mengcompile menjadi sebuah file application (APP) atau file executable (.EXE). Daftar file yang ada dalam Project Manager adalah sebagai berikut: Data o ase ables ocal View o o Free Tables Queri Code o ms o Label s o ation API Libraries Applic Progra es Documents o o t o Forms Repor o L T Class Libraries o Datab Other o nus Te xt Files Ot her Files Me

Untuk membuka sebuah project, ketikkan perintah sebagai berikut dalam Command Window (Sebagai alternatif, Anda dapat memilih File, Open): MODIFY PROJECT Foxie Maka akan muncul gambar seperti ini

Brenk 06.17.1.0006

GADA GAMBARNA
Database & Table
Database atau dalam istilah Visual FoxPro Table bahwa menyimpan data dalam record (baris) dan field (kolom). Setiap table Visual FoxPro dapat disimpan dalam filenya sendiri dengan ekstensi .dbf atau tercakup dalam database. Tujuan mempelajari Database adalah : Membuat proyek dan database baru. Membuat table baru, dan menetapkan field dan indeks. Menambahkan data pada table yang sudah ada. Menghubungkan table Menetapkan hubungan antar table Memastikan keutuhan referensi

Inti dari aplikasi Microsoft Visual FoxPro adalah table yang berisi data. Membuat Proyek Disini akan menggunakan Visual FoxPro Project Manager, Table Designer, dan Database Designer untuk membuat table, dan menempelkan data pada table.

Brenk 06.17.1.0006

Project Manager disusun menyerupai lemari arsip dan mempunyai beberapa label, seperti All, Data, Document, Classes, Code dan Other. Label tersebut memberikan akses yang cepat dan mudah pada obyek yang akan digunakan dalam proyek. Saat aplikasi tersebut, akan digunakan teknik mouse tunjuk-dan-klik atau seret-dan-letakkan untuk mengakses dan memanipulasi komponen aplikasi. Membuat Database Dalam kasus ini akan membuat database dengan menempatkan informasi ke dalam table. Membuat tabel Tabel dapat ditambahkan pada database dengan menggunakan dua peranti yang berbeda: Table Designer Table Wizard

Di sini dapat memanfaatkan kemudahan yang lebih besar dari Table Designer untuk membuat dan memodifikasi table, field, dan indeks. Dapat juga dilaksanakan aturan validasi, nilai default, dan nilai null (tak ada) dengan mudah. Menjalankan Database Setelah membuat untuk dan menambahkan kasus ini, table baru yang dapat diperlukan aplikasi

dihubungkan antara table yang memungkinkan table untuk berfungsi bersama di dalam aplikasi. Penjelasan Indeks:

Brenk 06.17.1.0006

Primary (Utama)

Untuk memastikan bahwa nilai khusus yang dimasukkan ke dalam field dan menentukan urutan catatan tersebut diproses. Setiap table hanya bisa mempunyai satu indeks utama. Hal ini memastikan keutuhan referensi dalam hubungan yang tetap. Untuk menjalankan nilai khusus dan dapat menjadi kandidat untuk digunakan sebagai indeks utama. Kandidat bisa lebih dari satu dalam setiap table. Ini memungkinkan

Candidate (Kandidat)

Unique (Khusus)

pengadaan

nilai

dan

menyimpan daftar setiap nilai khusus dalam Reguler (Biasa) indeks table. Indeks biasa tidak menjalankan kekhususan pada data, tetapi dapat digunakan untuk mengurutkan dan mencari data dari query dan laporan. Menggunakan jenis apapun dari ke-4 tersebut secara otomatis membuat sekumpulan file indeks yang terpisah (.cdx), yang berisi semua indeks yang digunakan dalam database. File .cdx berisi panduan untuk setiap indeks dalam table dan digunakan untuk menyusun catatan dan membuat rantai penghubung. File .cdx terbuka setiap kali menggunakan table.

Local View
Pembuatan View dilakukan bila Anda menginginkan seperangkat data yang dapat diperbaharui kapan saja. View merupakan kombinasi Query dan Tabel (database). Artinya dengan menggunakan View Anda dapat menyaring Brenk 06.17.1.0006

data dari satu atau lebih tabel serta menggunakannya untuk memperbaharui informasi pada View.

Cara pembuatan View adalah dengan memilih tabel serta field yang ingin anda masukkan ke dalam view, field tersebut harus memiliki kondisi tertentu yang sama dengan tabel lain yang akan direlasikan. Kemudian pilih bagaimana data dala view tersebut dikirimkan ke tabel dasar dimana view tersebut dibuat. Pada saat view dibuat, Visual FoxPro akan menyimpan View definition pada database yang bersangkutan. Definisi tersebut berisi nama tabel serta field pada View. View dibagi menjadi dua yaitu Local dan remote. View yang akan dipelajari sekarang adalah Local View. Cara pembuatannya adalah pada Project manager pilih database kemudian pilih Local View Ialu pilih New untuk membuka View Designer. Atau bisa juga dengan menggunakan perintah CREATE SQL VIEW pada window command. Nama view yang baru akan muncul pada Project Manager. Jika anda membuka Database Designer maka View akan ditampilkan sebagai tabel dalam skema dengan nama View sebagai nama Tabel.

Brenk 06.17.1.0006

Forms
Salah satu bagian yang paling penting dalam pembuatan program aplikasi adalah form, karena pada bagian inilah user akan berinteraksi dengan data yang ada dalam komputer. Dengan kata lain membuat form adalah merancang format interfacei atau format dokumen atau bentuk tampilan dimana data dikomunikasikan dalam bentuk yang dapat dimenegrti pada para pengguna. Pada Visual FoxPro, form dapat dibuat dengan dua cara yaitu dengan form designer (secara manual) dan Form wizard (dipandu komputer). Agar dapat memahami inti pembuatan form secara keseluruhan lebih baik kita menggunakan Form Designer. Sedangkan wizard

digunakan untuk membuat program entry data yang sederhana, dimana kita hanya perlu menjawab serangkaian pertanyaan yang akan diberikan oleh Form Wizard Ialu Visual FoxPro akan membuatkan Form tersebut secara otomatis. Visual FoxPro adalah suatu bahasa pemrograman OOP (Object Oriented Programming) dimana kita memanipulasi obyek untuk pembuatan label, kotak teks, tombol perintah, dan Iain-lain. Membuat Form Baru Langkah-langkah awal membuat form dari Form Designer Brenk 06.17.1.0006

1. Pada project manager, klik tab documents 2. Klik icon forms 3. Klik tombol New... Kotak dialog New Form akan muncul, sehingga kita dapat 4. Klik memilih menggunakan Form Wizard atau tombol New Form untuk membuat Form Form Designer. menggunakan Form Designer, jendela Form Designer akan muncul.

Didalam FormDocl terdapat jendela Form 1 yang bearti ini adalah layar form pertama untuk proyek ini dan merupakan daerah kerja atau layar form yang digunakan untuk membuat Form sesungguhnya. Sedangkan FormDocl adalah nama file yang akan disimpan dalam harddisk dan akan memiliki ekstensi SCX. Di bawah baris menu terdapat toolbar Form Designer yang membantu mempercepat dan mempermudah dalam membuat Form. Sedangkan disebelah kanan jendela Form Designer terdapat Toolbar Form Control, dimana Anda bisa memilih obyek-obyek yang dapat dimanipulasi di dalam Form. Kedua toolbar tersebut dapat dimunculkan dengan perintah "Toolbars" dari menu View. Dan pada kotak dialog toolbar, pilih toolbar Form Controls dan Form Designer. Object Pada Visual FoxPro ada dua jenis object, yaitu: 1. Container Objects Yaitu parent object yang mengandung beberapa object lain dibawahnya. Misalnya layar Form merupaka sebuah

Brenk 06.17.1.0006

object kontainer yang dapat mengandung obyek-obyek lainnya seperti label, kotak teks dan lain sebagainya. 2. Control Objects Yaitu obyek individual yang digunakan oleh pemakai untuk memasukkan data atau melakukan tindakan. Contohnya adalah tombol perintah, radiobutton, dan sebagainya. Setelah dibuat, setiap obyek akan memiliki metode (cara), properti (sifat) dan Code (Kode program) masing-masing. Dengan menggunakan Jendela Properties yang diaktifkan dengan klik kanan pada obyek lalu dipilih "properties..." dari menu pop-up, kita dapat merubah sifat daripada obyek tersebut. Misalnya nama, warnanya, captionnya, dan Iain sebagainya.

Reports
Report menampilkan dan meringkas data dalam format cetak atau pada layar. Dua komponen utama dari laporan adalah data dan rancangan. Sumber data untuk laporan bisa label, query, atau pun view. Dalam report designer, kita bisa memasukkan obyek-obyek berupa textbox, label, line, rectangle, rounded rectangle, dan picture / ole bound control. Obyek-obyek tersebut bisa kita masukkan ke dalam beberapa bagian report yang berbeda. Pada report yang tidak memiliki data grouping, report dibagi ke dalam tiga bagian, pageheader, detail, dan page footer. Page header dan page footer hanya akan

Brenk 06.17.1.0006

ditampilkan satu kali (maksimal) dalam satu halaman. Bagian detail akan dicetak berulang-ulang selama datanya masih ada (misalnya dari tabel). Pada report yang memiliki data grouping, ada dua bagian tambahan, yaitu group header dan group footer. Variables Di dalam report, kita dapat membuat satu atau beberapa buah variabel yang perlu ditampilkan dalam report sebagai hasil dari perhitungan tertentu, baik perhitungan fisik tabel (misalnya COUNT) maupun perhitungan matematis (misalnya SUM). Pembuatan variabel dalam report dapat dilakukan dengan membuka dialog variables (pilih menu reports, variables). Berikut beberapa komponen dalam dialog variables:

Komponen Variables Value to Store

Keterangan Tuliskan nama-nama

variabel

yang akan kita buat dalam list ini. Tuliskan variabel, nama field, atau apapun yang akan dimasukkan ke dalam variabel. Beberapa (penghitungan) pada value adalah: to yang

Calculate

perlakuan dilakukan store sebelum

disimpan pada variabel. Pilihannya

Brenk 06.17.1.0006

Initial Value Release after report Reset at

Nothing Count Sum Average Lowest Highest Std. Deviation

Variation Nilai awal yang disimpan pada variabel. Pilihan untuk me-release variabel setelah report selesai ditampilkan Pilihan waktu pengulangan proses Calculate. dilakukan, Ketika nilai pengulanagn variabel akan

berubah menjadi initial value.

Data Grouping Seringkali kita perlu untuk mengelompokkan beberapa data dalam tabel yang ditampilkan dalam report berdasarkan kategori tertentu, pengelompokkan ini dapat kita lakukan dalam Visual FoxPro dengan menggunakan fasilitas data grouping. Untuk membaut data grouping, pilih menu report, data Grouping. Pada dialog box data grouping, ada beberapa komponen yang perlu diisi. Komponen Keterangan

Brenk 06.17.1.0006

Group Expression Group Properties

Dalam kotak ini, kita isikan dasar pengelompokkan. Pilihan-pilihan preferensi perlakuan terhadap grup.

Menu
Dalam pembuatan system menu membutuhkan langkah sebagai berikut: Rencana dan Design system menu Pembuatan menu dan submenu Menghubungkan menu dengan perintah seperti yang Men-generate menu Menjalankan menu untuk testing

diinginkan

Perencanaan Menu System Kegunaan dari suatu aplikasi akan tercermin dari system menu yang baik sehingga mudah dipahami oleh user, untuk itu perlu perencanaan yang baik dan matang.

Patokan dalam mendesign system menu : a. Atur b. menu berdasarkan kriteria penggunaan, bukan berdasar tingkatan program dalam aplikasi. Beri judul yang menarik. logis proses, atau berdasar alphabet. d. Kelompokkan menu dalam grup-grup, dan beri jarak diantaranya. c. Atur menu berdasar frekwensi penggunaan, urutan

Brenk 06.17.1.0006

e. Gunakan shortcuts untuk mempermudah akses. f. Gunakan menu. Membuat design menu Dalam Visual FoxPro pembuatan menu dapat dilakukan dengan suatu Menu Designer. Dengan Menu Designer kita dapat menentukan judul menu, bagian dari menu dan sub menu. Untuk memulainya pilih File, New, Menu, New File, Menu. Lalu akan muncul Menu Designer. Menghubungkan diinginkan Setelah kita selesai membuat design menu, kita dapat mendefinisikan untuk apa menu itu dibuat, dengan menghubungkan bagian menu tersebut dengan suatu perintah atau aplikasi lainnya. Men-generate menu Setelah kita yakin bahwa menu yang kita buat telah baik dan benar, kita harus men-generate design menu tersebut agar dapat dijalankan. Untuk itu pilih Menu, Generate. Uji coba menu Setelah menu selesai di-generate maka kita siap untuk menjalankan menu yang telah selesai kita buat dengan memilih Program, Do, lalu pilih file menu yang telah kita generate tadi. menu dengan perintah sepertiyang kata yang menggambarkan kegunaan

Program
Brenk 06.17.1.0006

Program adalah sekumpulan instruksi yang beraturan yang dapat dijalankan secara spesifik untuk tujuan tertentu yang telah dikondisikan dalam baris programnya. Penggunaan program ini akan mempermudah pengelolaan database dan menghindari prosedure yang harus dilakukan berulang-ulang. Dalam Visual FoxPro kita dapat membuat file program dengan perintah Modify Command pada window command. Nantinya file tersebut akan disimpan dalam file yang berekstensi .PRG. Itu hanya salah satu bentuk file program yang ada dari sekian file serupa yang ada. Dalam membuat file program kita harus memperhatikan hal-hal seperti pendefinisian memory variable, parameter, dan alur programnya. Program diolah dalam urutan logika, yaitu pengolahan dimulai pada baris instruksi pertama dan dilanjutkan sampai perintah terakhir dilaksanakan. Ada berbagai cara penulisan program. Cara mengubah urutan pengolahan yang normal dengan menggunakan pencabangan kondisional dan loop (perulangan) program. Salah satu diantaranya dengan struktur IF dan struktur DO CASE.

Brenk 06.17.1.0006

Kasus
Foxie Cars merupakan perusahaan dealer mobil yang memiliki show room di banyak tempat. Setiap harinya, perusahaan tersebut melakukan banyak sekali penjualan mobil, hingga tentu menghasilkan omzetnya yang besar pula. Perusahaan ini telah menugaskan karyawannya untuk memberikan pelayanan di bagian penjualan, antara lain bertugas melayani pelanggan, memeriksa ke bagian persediaan mengenai produk yang dipesan dan pelanggan, melakukan memeriksan

perubahan yang berkaitan dengan data pelanggan, serta menangani keluhan pelanggan. Beberapa ini, sejalan meningkatnya semakin pelanggan bulan dengan belakangan semakin dari dari dari

permintaan baik maupun

pelanggan, keluhan yang ada pun meningkat sendiri

internal perusahaan khususnya di bagian persediaan dan di bagian penjualan. Bagian penjualan mengatakan bahwa banyak pelanggan yang kecewa karena mobil yang dipesannya tidak tersedia atau tidak ada pada waktu yang dijanjikan, disamping itu bagian persediaan pun memberikan respon lambat terhadap permintaan bagian penjualan.Hal ini dikhawatirkan akan menyebabkan beralihnya para pelanggan Foxie Cars karena merasa kecewa. Sementara itu karyawan di bagian persediaan yang juga menangani bagian pembelian menyatakan keluhannya bahwa

Brenk 06.17.1.0006

seringkali mobil yang dipesan dari bagian penjualan tidak dapat disediakan karena penyediaan/pembelian mobil dari supplier yang terlambat.

Brenk 06.17.1.0006

You might also like