Seksyen Pangkalan Data - DOC

Document Sample
Seksyen Pangkalan Data - DOC Powered By Docstoc
					                                     BAB IV




                            METODOLOGI KAJIAN




4.1    Pengenalan



       Metodologi boleh ditakrifkan sebagai suatu jujukan aktiviti yang sistematik
bagi menyelesaikan sesuatu masalah dengan membangunkan satu aplikasi sistem.
Sebuah metodologi akan menggunakan satu set teknik yang digunakan untuk
melaksanakan aktiviti-aktiviti yang spesifik. Terdapat beberapa jenis metodologi
pembangunan yang boleh digunakan dalam membangunkan sesebuah aplikasi
sistem. Setiap pendekatan yang dipilih haruslah bersesuaian dengan projek yang
akan dibangunkan.



       Sebelum perlaksanaan sesebuah projek, satu perancangan gerak kerja sistem
harus dibuat bagi memastikan pembangunan projek dapat dilaksanakan dengan
lancar. Tanpa perancangan yang teliti, pelbagai masalah akan timbul seperti
melebihi tempoh masa yang ditetapkan, melebihi kos atau tidak memenuhi kehendak
pengguna. Dari itu, sebelum memulakan sesuatu projek, apa yang perlu adalah
justifikasi tentang kesesuaian metodologi yang dipilih, langkah-langkah yang diambil
dan perkakasan serta perisian yang terlibat agar ia menyokong pembangunan sistem
CAD yang memerlukan spesifikasi yang terperinci. Rajah 4.1 di sebelah
menunjukkan fasa-fasa yang terlibat di dalam pembangunan projek.
                                                                     52


   FASA 1                    FASA 3                     FASA 2

   Sistem                                        Lukisan  JKR
 Konvensional


   Penyediaan                                         Penghasilan
 pangkalan data                                         lukisan
 DRD, ERD, ER



                                                       Penghuraian
 Memprogram                                             AutoCAD,
bagi pembinaan                                             Revit
   hubungan
pangkalan data
                               Pembinaan
   .mdb, .sql               antaramuka 
                               Lukisan +
                            Pangkalan data
                             CodeCharge –
                              cfm, asp, php




                             Pengurusan
                            pangkalan data
                              bagi CAD




                                 Pelayan
                                  web



                            online



                               Internet




                Rajah 4.1 : Fasa pembangunan sistem
                                                                                  53

       Bagi melancarkan pembangunan aplikasi sistem ini, tiga fasa utama telah
dikenalpasti dalam menjayakan sistem. Dalam penulisan tesis ini, kita hanya
menumpukan kepada fasa pertama sahaja dengan lebih terperinci. Fasa lain akan
juga dibincangkan tetapi secara umum sahaja. Rajah 4.1 menunjukkan beberapa
langkah dalam pengurusan CAD yang telah diambil. Tiga fasa utama yang terlibat
dalam pembangunan sistem ini adalah:

       (i)    Fasa pertama
                 melibatkan langkah kajian terhadap sistem konvensional yang
                  dipraktiskan di JKR, penyediaan pangkalan data serta memprogram
                  bagi mewujudkan hubungan dalam pangkalan data.
       (ii)   Fasa kedua
                 melibatkan peringkat pengambilan lukisan spesifikasi daripada
                  pihak JKR, penghasilan semula lukisan melalui penggunaan perisian
                  seperti AutoCAD dan Autodesk Revit.
       (iii) Fasa ketiga
                 melibatkan proses menghasilkan antaramuka lukisan spesifikasi dan
                  pangkalan data, pengurusan pangkalan data bagi CAD,
                  menghubungkan kepada pelayan web dan seterusnya secara atas
                  talian (online) kepada internet.



       Fasa pertama merupakan fasa pembangunan yang kritikal kerana ia
memerlukan pemahaman asas terhadap sistem konvensional di JKR sendiri dan
digambarkan melalui hubungan dalam pangkalan data yang memerlukan
pengetahuan mengenai pangkalan data menggunakan perisian seperti Microsoft
Access atau MySQL.



       Kajian terhadap praktis konvensional JKR perlu dilakukan dan diilustrasi
melalui gambarajah DFD dan direalisasi melalui sistem melalui gambaran dalam
bentuk gambarajah ERD. Pangkalan data dibangunkan melalui perisian MySQL.
Data disimpan dalam bentuk .sql yang boleh dibaca oleh bahasa pengantara php dan
pelayan aplikasi Apache.
                                                                                       54

       Di dalam fasa kedua, data terpenting adalah lukisan spesifikasi daripada JKR
serta pemahaman asas perincian lukisan itu sendiri. Secara amnya, di dalam fasa ini
apa yang diperlukan ialah perolehan lukisan, penghasilan lukisan dan huraian lukisan
dengan menggunakan perisian seperti AutoCAD dan Revit. Lukisan yang diambil
daripada JKR dibahagikan kepada dua jenis lukisan utama yang digunakan iaitu
lukisan struktur serta lukisan arkitek sistem saliran dan perparitan. Lukisan struktur
merupakan lukisan yang digunakan di dalam sistem CAD ini kerana ia mengandungi
butiran struktur saliran dan perparitan yang dikehendaki oleh sistem seperti butiran
saiz saliran, keratan rentas saliran dan sebagainya.



       Lukisan yang diperolehi daripada JKR dihasilkan semula mengikut apa yang
dikehendaki oleh sistem tetapi tidak lari daripada spesifikasi yang ditetapkan oleh
JKR dan British Standard. Penghasilan semula lukisan dilakukan dengan
menggunakan perisian AutoCAD 2002. Huraian dan perincian terhadap lukisan
diwujudkan melalui perantaraan perisian Autodesk Revit 4.5 dengan AutoCAD.



       Data lukisan CAD dalam bentuk .dwg yang dihasilkan di dalam AutoCAD
akan dimasukkan ke dalam sistem pangkalan data MySQL dalam bentuk .sql. Untuk
itu, jenis data bagi lukisan CAD ini perlu ditukarkan dalam bentuk objek OLE
semasa membuat medan data dalam borang yang terdapat di dalam MySQL. Jenis
data bagi objek OLE merupakan suatu medan bagi objek dalam bentuk imej atau
grafik yang akan dipaparkan melalui pangkalan data.



       Fasa ketiga banyak melibatkan pengetahuan mengenai teknologi maklumat
seperti pembangunan web, pengurusan pelayan dan internet. Portal dihasilkan
melalui pengubahsuaian portal PHP-Nuke di dalam laman pentadbirannya yang
sangat mudah. Pangkalan data CAD yang ingin dionlinekan kepada internet
memerlukan pelayan aplikasi sebagai perantara. Teknologi persekitaran Windows
membolehkan pelayan aplikasi jenis Apache digunakan melalui beberapa langkah
pengubahsuaian.
                                                                                   55

4.2    Praktis Konvensional



       Dalam fasa ini, langkah pertama yang diambil ialah dengan membuat kajian
terhadap sistem konvensional yang dipraktiskan di JKR. Hubungan di antara proses
yang terlibat seperti proses tender, penyediaan senarai bahan dan lukisan spesifikasi
dibangunkan melalui DFD dan ERD dalam bentuk grafik. Pemahaman terhadap
sistem JKR sekarang dikuatkan lagi dengan pembinaan DFD bagi memberi
gambaran yang lebih jelas dari segi grafik. Semakan terhadap DFD dibuat melalui
sesi perjumpaan dengan pegawai dari JKR Johor serta pensyarah. Sekiranya DFD
yang dibangunkan selari dengan praktis semasa, ERD akan dibangunkan melalui
pengubahsuaian sistem sekarang dengan sistem yang akan dibangunkan. Mana-
mana langkah yang akan diambilalih oleh sistem akan secara automatik digantikan
dengan sistem pengurusan pangkalan data yang baru. Rajah 4.2 di bawah
menunjukkan context diagram bagi sistem konvensional yang terlibat.




               Kontraktor                                           Perunding



                            Kemajuan kerja
                                                    Periksa, nasihat &
                                                     mencadangkan
                   Permintaan terhadap
                           VO




                                       Sistem Pengurusan
                                      Data Projek Pembinaan


                                                                  Kelulusan
                                                                   lukisan
                             Kemajuan kerja

                                                           Menghasilkan
                   Taksir
                                                             lukisan



                Jurukur
                                                                         Arkitek
                 bahan




             Rajah 4.2 : Context diagram bagi praktis konvensional
                                                                                            56

       Merujuk kepada rajah 4.2 di sebelah, context diagram bagi sistem yang
dibangunkan dilabelkan sebagai ‘Sistem Pengurusan Data Projek Pembinaan’ yang
juga bertindak sebagai sistem pangkalan data JKR yang mewakili skop kajian yang
ingin dibina dengan menggunakan model DFD. Kontraktor, jurukur bahan, arkitek
dan perunding bertindak sebagai terminators (source). Aliran data di antara context
diagram dan terminators diwakili melalui arah anak panah.



                Pangkalan Data JKR
                     (MySQL)




                      Middleware                         Pelayan Web
                        (PHP)                             (Apache)




                                                            Portal
                                                        butang aplikasi
                                                                               Kelulusan
                                Permintaan terhadap
                                                                                 lukisan
                                        VO
                                                                          Menghasilkan
                                                                            lukisan

                                                         Kemajuan kerja
            Kontraktor
                                                                                  Arkitek
                           Periksa, nasihat
                              & cadang                Taksir



                                                        Jurukur
                   Perunding
                                                         bahan




                   Rajah 4.3 : Model data ERD yang dicadangkan



       Model data ERD dibina berdasarkan sistem yang akan mengambilalih sistem
konvensional sekarang. Melalui rajah 4.3 di atas dapat dilihat bahawa pangkalan
data JKR boleh diakses oleh pihak yang terlibat melalui portal yang dibina.
Antaramuka portal yang mengandungi pelbagai fungsi aplikasi dapat digunakan oleh
sesiapa sahaja yang memerlukan maklumat mengenai industri pembinaan walau di
mana sahaja mereka berada dan tidak perlu lagi ke JKR bagi mendapatkan maklumat
yang diperlukan.
                                                                                   57

4.3     Pembangunan Pangkalan Data



        Pembangunan pangkalan data merupakan fasa yang kritikal kerana data yang
akan disimpan perlu dipastikan berjalan dengan lancar, efektif, lengkap dan
sempurna. Secara keseluruhannya, pangkalan data dibangunkan melalui perisian
MySQL dan simpanan data di dalam bentuk .sql.




4.3.1   Penstrukturan Pangkalan Data



        Penstrukturan pangkalan data bagi pembangunan sistem ini dibuat
berdasarkan gambarajah aliran data (DFD) dan gambarajah perhubungan entiti
(ERD). Beberapa langkah diambil dalam menstruktur pangkalan data, antaranya:

        i)     Menentukan keperluan kepada penggunaan data-data yang terdapat
               pada model ERD.
        ii)    Menentukan bilangan jadual yang perlu dibina berdasarkan bilangan
               entiti pada model ERD.
        iii)   Menentukan saiz dan bilangan medan pada setiap jadual yang akan
               dibina berdasarkan attributes setiap set entiti pada model ERD.
        iv)    Menentukan kekunci primer pada setiap jadual yang dibina.
        v)     Menentukan hubungan setiap jadual yang dibina.
        vi)    Memasukkan data-data sebenar ke dalam setiap medan di dalam setiap
               jadual yang dibina (Zainudin Ngadiran, 2000).



        Secara mudahnya, pada peringkat awal, data perlu dikumpul dan diolah
kepada beberapa kumpulan yang berbeza. Data dikumpulkan mengikut subjek ke
dalam beberapa jadual yang berasingan. Setiap maklumat yang berkaitan akan
disimpan dalam satu jadual sahaja. Contohnya, bagi pembangunan sistem ini, bagi
menjalankan pengurusan portal yang sempurna, pangkalan data seperti forum, berita,
mesej peribadi, topik dan sebagainya perlu dibangunkan. Kemudian, data yang
berkaitan akan dimasukkan ke dalam jadual-jadual yang terlibat. Jadual-jadual yang
                                                                                  58

dibina kemudiannya akan dikaitkan antara satu sama lain melalui konsep hubungan
(Lew Siow Chei, 2000).



        Bagi merekabentuk pangkalan data, suatu medan atau parameter bagi data
diperlukan. Dalam fasa ini, nama, saiz dan jenis data untuk setiap medan harus
ditentukan dalam pandangan rekabentuk (design view) untuk rekabentuk jadual dan
ia perlu memenuhi syarat yang telah ditetapkan.



        Salah satu prosedur yang penting dalam menentukan medan data adalah
menentukan kekunci primer (primer key) bagi setiap jadual yang dibina. Ia
berfungsi sebagai pengesan data dan digunakan apabila perlu menggabungkan
maklumat lebih dari satu jadual. Nilai kekunci primer adalah unik serta berbeza
antara satu sama lain.




4.3.2   Peringkat Rekabentuk Pangkalan Data



        Rekabentuk sistem maklumat biasanya berdasarkan sama ada pendekatan
pemanduan-data (data-driven) atau pemanduan-berfungsi (function-driven). Dalam
pendekatan pemanduan-data penekanan ialah untuk mencari apakah data yang perlu
disimpan dan dimanupulasi ke dalam sistem. Pendekatan pemanduan-berfungsi
meletakkan penekanan pada aplikasi di mana sistem perlu disokong (Heikki Mannila
dan Kari-Jouko Räihä, 1992). Di dalam pembangunan sistem ini, kita akan
memfokuskan kepada pendekatan pemanduan-data.



        Rekabentuk pangkalan data boleh dibahagikan kepada empat peringkat iaitu
analisis keperluan, rekabentuk berkonsep, rekabentuk logikal dan rekabentuk fizikal.
Peringkat analisis keperluan akan menghasilkan suatu huraian berdasarkan
pengoperasian pangkalan data. Peringkat ini dilaksanakan bagi memastikan
pangkalan data yang dibangunkan mengandungi data yang sesuai dengan fungsi dan
aplikasi di mana pangkalan data yang akan diguna. Pendekatan perlu direalisasi
                                                                                    59

dengan pembangunan lebih banyak teknik permodelan intuitif dan perkakasan yang
menyokong penggunaannya.



       Bagi menentukan keperluan pangkalan data dan bagaimana ia akan
digunakan, kita perlu mengetahui maklumat apa yang diperlukan daripada pangkalan
data. Dengan itu, kita akan dapat menentukan subjek bagaimana yang diperlukan
untuk menyimpan fakta (jadual) dan fakta bagaimana yang perlu untuk disimpan
mengenai setiap subjek (medan). Untuk itu, kita perlu berfikiran seolah-olah kita
yang akan menggunakan pangkalan data tersebut. Pendekatan perlu direalisasi
dengan pembangunan lebih banyak teknik permodelan intuitif dan perkakasan yang
menyokong penggunaannya.



       Penghasilan gambaran daripada peringkat rekabentuk berkonsep ialah
pangkalan data yang menggunakan model data berkonsep yang hanya memfokuskan
kepada hubungan logikal di antara data yang terlibat. Ia berperanan mencari konsep
asas daripada gambaran pengoperasian yang telah dihasilkan dalam analisis
keperluan. Di dalam peringkat ini digunakan ERD yang bertindak sebagai data
model berkonsep yang mempunyai entiti dan hubungan (relationships). Ia
membenarkan pembangun sistem untuk memahami kandungan pangkalan data
dengan lebih baik dan juga membantu dalam pencarian perwakilan yang sesuai
dalam siri fasa rekabentuk (Heikki Mannila dan Kari-Jouko Räihä, 1992).



       Keputusan daripada rekabentuk logikal merupakan suatu huraian
penstrukturan yang digunakan bagi penyimpanan pangkalan data. Penggunaan
model data dalam rekabentuk logikal boleh dikatakan berasaskan kepada konsep
ekstradisi struktur fizikal pangkalan data dengan menggunakan model hubungan, di
mana data disimpan di dalam bentuk jadual. Pencarian jadual yang betul dalam
penyimpanan data sangat penting memandangkan aplikasi queries akan diformulasi
dan dilaksanakan berdasarkan jadual yang dibina. Kita tidak boleh bergantung
sepenuhnya terhadap trasformasi mekanikal daripada model ERD kerana ia tidak
semestinya menghasilkan struktur yang optimal. Perekabentuk perlu menentukan
setiap jenis data, berapa banyak bait penyimpanan diperlukan dan apakah nilai yang
dibenarkan.
                                                                                   60

        Rekabentuk fizikal akan menghasilkan struktur fail yang diperlukan untuk
penyimpanan struktur pangkalan data yang diwujudkan semasa peringkat rekabentuk
logikal. Rekabentuk fizikal yang sesuai memerlukan maklumat bukan sahaja queries
yang tipikal malahan juga frekuensi perlaksanaan jangkaan (Heikki Mannila dan
Kari-Jouko Räihä, 1992). Struktur fail yang baik adalah dengan percubaan untuk
mengoptimis persembahan secara keseluruhan sistem supaya queries perlaksanaan
dapat diuruskan dengan pantas. Sebelum data bebas disediakan oleh model data
yang lebih tinggi, perubahan struktur fail tidak seharusnya memberi kesan kepada
pembetulan aplikasi program yang dilakukan.




4.3.3   Penyediaan Pangkalan Data



        Bagi memulakan pembinaan pangkalan data, kita perlu terlebih dahulu
membuka aplikasi perisian MySQL melalui arahan localhost persekitaran Windows
dengan paparan ‘The AppServ Open Project – 2.0.0 for Windows’ seperti yang
ditunjukkan dalam rajah 4.4 di sebelah..




           Rajah 4.4 : Localhost persekitaran Windows dengan paparan ‘The
                    AppServ Open Project – 2.0.0 for Windows’
                                                                                   61

       Di dalam menu utama pembangunan portal ini, terdapat beberapa aplikasi
link yang mempunyai fungsi tersendiri. Pembangun perlu akses ke dalam
phpMyAdmin Database Manager Version 2.4.0 bagi memulakan langkah pertama
pembinaan pangkalan data MySQL.



       Menu PHP-Nuke Web Portal System Version 6.5 berperanan di dalam
mengubahsuai portal yang sedia ada. Apabila pengguna klik kepada hyperlink ini,
paparan portal standard atau template akan kelihatan dan pengubahsuaian boleh
dilakukan oleh sesiapa sahaja. Menu PHP Information Version 4.3.1 pula
memaparkan struktur dan konfigurasi persekitaran Apache, PHP, MySQL, ODBC
serta modul tambahan seperti pembolehubah PHP dan sebagainya.



       Merujuk rajah 4.5, phpMyAdmin merupakan sistem visual bagi pengurusan
pangkalan data MySQL. Ia ditulis dalam bahasa PHP dan berperanan untuk
memaparkan kandungan pangkalan data pada pelayan (atau klien) pada mana
MySQL di’install’. Melalui antaramuka ini, kita boleh mewujudkan pangkalan data,
mengubahsuai yang sedia ada atau ubahsuai kandungan medan tunggal.



       Paparan phpMyAdmin di dalam dua bingkai utama dan merupakan perisian
yang mesra pengguna. Pemilihan terhadap bahasa yang diingini boleh dilakukan
melalui 50 bahasa perantara utama di dunia seperti bahasa Inggeris, Thai, Rusia,
Jerman, Peranchis, Melayu, Korea, Jepun, Itali, Cina, Arab dan sebagainya. Dengan
ini, pembangun akan lebih memahami fungsi-fungsi serta arahan aplikasi yang
terdapat di dalam perisian MySQL ini.
                                                                                  62




                     Rajah 4.5 : Laman utama phpMyAdmin




        Perisian ini merupakan sistem perkongsian pangkalan data di dalam satu
aplikasi perisian. Maka tidak hairanlah pengguna dapat melihat paparan pangkalan
data yang lain melalui klik pada pencarian pangkalan data sahaja dengan mudah.
Bagi mencipta pangkalan data yang baru, pembangun perlu memasukkan nama
pangkalan data sahaja pada ruang yang disediakan dan klik pada butang ‘create’.




4.3.4   Mewujudkan Data Bagi Jadual



        Melalui gambarajah DFD dan ERD yang telah dibina, jadual-jadual akan
dibina di dalam MySQL untuk membina hubungan antara data yang terlibat.
Berdasarkan suatu jadual, pembangun pangkalan data MySQL merujuk kepada
barisan maklumat sebagai rekod and kolum bersama setiap rekod sebagai medan
yang mana mengandungi data mengenai sesuatu perkara. Bagi membentuk satu
                                                                                 63

jadual dengan baik, kita perlu memecahkan medan-medan umum tersebut kepada
medan individu yang mengandungi data satu item sahaja sebagai rekod.



       Rajah 4.6 di sebelah menunjukkan laman bagi mewujudkan jadual baru di
mana pembangun perlu terlebih dahulu mengetahui berapa banyak medan yang
diperlukan dalam sesebuah jadual. Apabila mewujudkan jadual menggunakan
MySQL, kita akan mendefinisikan nama medan, jenis medan dan juga saiz medan.




                Rajah 4.6 : Laman bagi mewujudkan jadual baru



       Sebelum membina sesuatu jadual di dalam pangkalan data, jadual-jadual
yang diperlukan serta data-data di dalamnya perlu terlebih dahulu dikenalpasti
supaya perjalanan pembinaan jadual berjalan dengan lancar. Pembangun perlu
menentukan setiap jenis data, berapa banyak bait penyimpanan diperlukan dan
apakah nilai yang dibenarkan. Merujuk lampiran C merupakan jadual-jadual yang
diperlukan bagi pembinaan portal bagi projek ini:
                                                                                    64

       Merujuk rajah 4.7, apabila mewujudkan nama medan, pembangun tidak perlu
serta tidak dibenarkan menjarakkan atau meletakkan tanda bacaan di dalam nama
tersebut. Jika ingin menjarakkan di antara dua perkataan, gunakan tanda underscore
(_) bagi memisahkan dua perkataan supaya mudah dibaca dan dirujuk.




              Rajah 4.7 : Laman bagi pendefinisian karektor data



       Selepas menentukan nama medan, kita perlu mengisytiharkan jenis medan
yang mana menakrifkan kandungan medan. Jenis data varchar bermaksud karektor
pembolehubah (variable character). Di dalam medan jenis varchar, kita boleh
menyimpan sifat alphanumeric dan tanda baca.



       Akhirnya, bagi banyak jenis medan kita perlu mendefinisikan saiz dan nilai
medan. Sesetengah jenis data tidak memerlukan saiz medan, atau tidak
membenarkan kita memilihnya, seperti jenis integer. Lain-lain seperti varchar
memerlukan saiz medan walaupun MySQL menetapkan penghadan kepada saiz
medan varchar (255 karektor). Apabila pengisytiharan terhadap nombor karektor
                                                                                  65

telah dilakukan, kita perlu menetapkan saiz medan kepada jumlah yang dipercayai
diperlukan oleh karektor.



       Bagi memaparkan jadual dalam bentuk berstruktur, pembangun perlu
memilih arahan structure pada arahan major. Rajah 4.8 di bawah menunjukkan
paparan data yang telah didefinisikan di dalam bentuk struktur.




                 Rajah 4.8 : Paparan data dalam bentuk struktur



       Paparan melalui menu structure ini menggambarkan rumusan struktur secara
keseluruhan pangkalan data mahupun struktur jadual yang telah dibangunkan. Di
sini, pembangun dapat memeriksa data yang telah diisytiharkan dengan jenis kolum
dan melakukan beberapa pengubahsuaian melalui sub-arahannya. Pada laman ini
juga mempunyai maklumat mengenai indeks-indeks yang digunakan, penggunaan
ruang dan statistik baris.
                                                                                   66




               Rajah 4.9 : Paparan jadual dalam bentuk struktur



       Melalui paparan ini, pembangun dapat mengetahui kesempurnaan sesuatu
jadual yang telah dibangunkan melalui paparan sesuatu arahan, rekod, saiz data dan
juga jenis jadual yang telah ditakrifkan. Penggunaan sub-arahan drop perlu
dilakukan secara berhati-hati kerana sekiranya kita dengan tidak sengaja
menggunakannya akan menyebabkan kehilangan jadual ataupun mungkin
keseluruhan pangkalan data yang telah dibina. Melalui laman ini juga, pembangun
dapat mewujudkan jadual baru di dalam pangkalan data yang sama.



       Rajah 4.10 di sebelah menunjukkan menu eksport. Menu eksport
memaparkan setor sementara pangkalan data mengikut pilihan pembangun sama ada
dalam bentuk struktur sahaja, data sahaja, struktur dan data, eksport ke dalam bentuk
format XML, LaTeX, CSV dan sebagainya.
                                                                               67




                           Rajah 4.10 : Menu eksport



       Setiap pilihan eksport akan dipaparkan dalam bentuk kod yang komplikated
dan agak sukar difahami. Dalam menu ini juga boleh menjalankan arahan
mengubahsuai jadual yang telah dibina.



       Rajah 4.11 menunjukkan menu operations yang terdapat pada salah satu
menu major jadual MySQL. Menu ini diperlukan apabila pembangun perlu
menggunakan jadual yang sama dengan pangkalan data yang dibina sebelum ini.
Oleh itu pembangun tidak perlu lagi membina semula jadual tersebut dan hanya
menyalin daripada pangkalan data yang berkenaan.
                                                                                68




                          Rajah 4.11 : Menu operations



        Merujuk rajah di atas, menu operations juga menawarkan kemudahan bagi
mengubah susunan data, menamakan semula jadual serta juga memindah jadual ke
pangkalan data yang lain seperti yang dikehendaki. Selain itu, pembangun juga
dapat melakukan penyelenggaraan terhadap jadual yang dibina dengan melakukan
pembaikan, analisa, pemeriksaan dan pengemaskinian. MySQL akan secara
automatik memeriksa status dan operasi jadual yang dibangunkan.




4.3.5   Mewujudkan Query



        Arahan query berfungsi untuk mencari jadual yang terlibat bagi memperolehi
data yang memenuhi query berdasarkan kriteria-kriteria yang ditetapkan oleh
pembangun. Ia membenarkan kita memilih rekod daripada sebuah jadual ataupun
daripada beberapa buah jadual dan memaparkan beberapa atau semua medan dengan
                                                                                    69

atau tanpa kriteria atau keadaan yang ditetapkan dan juga melaksanakan pengiraan
bagi memaparkan data yang tidak secara jelas disimpan di dalam jadual. Butang
query pada arahan major MySQL memaparkan dokumentasi untuk pembangun
memaparkan arahan query MySQL di dalam pangkalan data.




                    Rajah 4.12 : Laman bagi rekabentuk query



       Pada paparan ini, terdapat rekabentuk grid pemilihan medan, susunan,
paparan dan kriteria. Pembangun perlu memilih sama ada untuk mengemaskini atau
untuk membina query yang baru bagi pangkalan data yang telah dibangunkan.



       Jika ingin mencari sesuatu rekod atau data tanpa sebarang kriteria, adalah
lebih mudah menggunakan arahan search pada arahan major di mana pangkalan data
akan mencari nilai atau data pada jadual yang dipilih.
                                                                                    70




             Rajah 4.13 : Laman bagi pencarian data tanpa kriteria



        Melalui menu ini, kita dapat mencari data tertentu di dalam jadual yang lebih
spesifik berdasarkan suatu nilai atau perkataan yang dimasukkan. Pembangun perlu
menentukan sama ada pencarian di dalam lingkungan yang spesifik atau perkataan
atau nilai yang hampir sama dengannya.




4.3.6   Kenyataan SELECT dan Klausa WHERE



        Suatu kenyataan select atau pendefinisian where di dalam kenyataan SQL
boleh mengandungi sebarang ekspresi menggunakan beberapa fungsi. Kenyataan
yang mengandungi NULL biasanya mengandungi nilai NULL melainkan dalam hal
lain dinyatakan dalam dokumentasi bagi operator dan fungsi yang terlibat di dalam
ekspresi.
                                                                                 71

       Kenyataan where diletakkan di dalam bahagian select kerana biasanya ia
digunakan bersama select, tetapi kenyataan sama digunakan juga bagi where di
dalam kenyataan delete dan update. Operator perbandingan serta operator logic
MySQL boleh digunakan di dalam klausa where seperti:

       i)        =                    sama dengan
       ii)       <> atau !=            tidak sama dengan
       iii)      <                    lebih kurang daripada
       iv)       <=                   lebih kurang daripada atau sama dengan
       v)        >                    lebih besar daripada
       vi)       >=                   lebih besar daripada atau sama dengan
       vii)      like                  perbandingan suatu string
       viii)     and                   dan
       ix)       or                    atau
       x)        not                   tidak



       Perhubungan antara jadual terbentuk dengan memasukkan kekunci primer
dari satu jadual primer sebagai medan terhadap jadual yang lain. Kekunci yang
dimasukkan ke jadual dikenali sebagai kekunci asing. Kekunci asing mewakili satu
rekod tunggal dalam jadual primer dan boleh digunakan sekiranya perlu untuk
mengambil data lain dalam rekod yang sama. Ini memungkinkan setiap maklumat
disimpan dalam satu tempat. Apabila dikehendaki dari lokasi lain, maklumat ini
boleh dimuatturunkan. Setelah hubungan antara jadual telah ditetapkan, data boleh
diekstrak di antara jadual lain dengan mudah. Namun bagi perisian MySQL, kita
tidak memerlukan kekunci asing bagi menghubungkan dua jadual yang berbeza.



       Kekunci asing di dalam MySQL tidak digunakan untuk menghubungkan
jadual. Satu-satunya perkara yang tidak dilakukan MySQL ialah memeriksa bagi
memastikan bahawa kekunci yang digunakan benar-benar wujud dalam jadual yang
dirujuk dan tidak secara automatik memadam baris daripada jadual dengan takrifan
kekunci asing. Sekiranya ingin menghubungkan antara beberapa jadual yang berbeza
arahan SELECT digunakan. Contoh kenyataan ini ditulis adalah seperti berikut:

               SELECT * FROM table1,table2 WHERE table1.id=table2.id
                                                                                      72

          Kombinasi terbaik bagi menghubungkan jadual adalah dengan mencuba
pelbagai kemungkinan. Sekiranya semua kolum dalam order by dan dalam group by
datang daripada jadual yang sama, jadual ini diperkenalkan dahulu apabila
menghubungkannya. Sekiranya tiada fasal order by dan fasal group by berbeza, atau
sekiranya order by atau group by mengandungi kolum daripada jadual selain
daripada jadual pertama dalam barisan perhubungan, suatu jadual sementara akan
dibina.




4.3.7     Keselamatan Kata Laluan



          Kata laluan perlu dipastikan selamat daripada diceroboh oleh pengguna.
Pembangun tidak digalakkan untuk menetapkan kata laluan dalam keadaan yang
terdedah daripada pengetahuan pengguna. Kaedah yang boleh digunakan bagi
menentukan kata laluan apabila menjalankan program adalah disenaraikan seperti
berikut beserta risiko kemasukan setiap kaedah:

          i)     Jangan sesekali memberi kebenaran pengguna biasa untuk memasuki
                 jadual mysql.user. Kata laluan telah dijana (encrypted) kepada bentuk
                 yang tidak tersusun dan kelam kabut (scramble) agar pengguna tidak
                 dapat melihat kata laluan yang sebenar.
          ii)    Guna pilihan ‘¬pyour_pass’ atau ‘¬¬password=your_pass’ pada arahan
                 biasa (common line). Ia agak mudah tetapi kurang selamat kerana kata
                 laluan akan kelihatan pada status program sistem (seperti ps) yang
                 mungkin akan dipohon oleh pengguna bagi memaparkan arahan biasa.
          iii)   Guna pilihan „¬p’ atau ‘¬¬password’ (dengan tiada ‘your_pass’
                 dinyatakan). Di dalam kes ini, program klien memperoleh kata laluan
                 daripada terminal:
                              shell> mysql ¬u user_name ¬p
                              Enter password : ********
                 Karektor ‘*’ mewakili kata laluan.
                                                                                        73

        iv)   Simpan kata laluan di dalam fail konfigurasi. Sebagai contoh,
              pembangun boleh menyenaraikan kata laluan di dalam seksyen klien
              pada fail ‘.my.cnf‟ pada direktori kembali:
                           (client)
                           password=your_pass
              Jika kata laluan disimpan di dalam „.my.cnf‟, fail tersebut tidak dapat
              dibaca atau ditulis. Pastikan mode kemasukan fail adalah 400 atau 600.
        v)    Kata laluan juga dapat disimpan di dalam persekitaran pembolehubah
              ‘mysql_pwd‟, tetapi kaedah ini dipertimbangkan kurang selamat dan
              tidak digalakkan digunakan.




4.3.8   Perhubungan Maklumat Kepada Pangkalan Data



        Walaupun PHP menyedari mengenai penggunaan MySQL dalam pembinaan
pangkalan data, dalam skrip yang spesifik, kita pelu mengenalpasti pangkalan data
yang sebenar yang hendak diakses. Dalam kes projek ini, ia merupakan data sebenar
di dalam portal yang hendak dibina.

               mysql_connect (“localhost”, “nobody”, “password”) atau
                       die (“could not connect to database”):
               mysql_select_db (“guessbook”) atau
                       die (“could not select database”):



        Barisan pertama memberitahu MySQL bahawa pelayan web (entiti
menjalankan skrip) dalam mesin tempatan, mempunyai nama pengguna ‘nobody‟
dan mempunyai kata laluan sebagai ‘password‟. Kemudian, apabila perhubungan
telah berjaya, pangkalan data yang spesifik dipilih bersama dengan arahan
mysql_select_db(). Dengan arahan ini dimasukkan dengan betul pada skrip, kita
sepatutnya mampu memanipulasi pangkalan data dengan arahan yang dikemukakan.
                                                                                  74

        Oleh kerana kita memerlukan arahan ini di setiap halaman di dalam aplikasi,
adalah baik untuk menyimpan sebarang penulisan dan meletakkannya ke dalam fail
ia sendiri dan memasukkannya ke dalam setiap halaman. Proses ini melibatkan
perletakan seluruh kandungan fail ke dalam fail yang diakses. Arahan ini akan
disimpan ke dalam fail yang dikenali sebagi dbconnect.php. Pada bahagian atas
setiap fail lain dalam aplikasi ini akan mempunyai arahan berikut:

                      include („dbconnect.php‟):

Arahan include akan memanggil fail sahaja dikenali sebagai fail PHP dan bukan
dalam bentuk pangkalan data.




4.3.9   Memasukkan Maklumat Ke Dalam Pangkalan Data



        Oleh kerana kita belum lagi memasukkan sebarang data pengguna ke dalam
pangkalan data, pembangun perlu mempertimbangkan skrip yang akan membenarkan
perkara tersebut. Pertama, kita perlu memahami terlebih dahulu mengenai
pembolehubah PHP. Sebagai klien atau persekitaran pelayan, kita perlu mendapatkan
data pembolehubah daripada klien (web browser) kepada PHP dan biasanya
dilakukan demikian dalam bentuk HTML. Sebagai contoh mudah disertakan kaedah
bagi mewujudkan halaman data pelawat.


        <form action=”myscript.php”>
               <input type=”text” name=”name”>
               <input type=”submit” name=”submit” value=”submit”>
        </form>

        <form action=”myscript.php”>
               <input type “text=” name=”name”>
               <input type=”submit” name=”submit” value=”submit”>
        </form>
                                                                                 75

       Kita dapat memutuskan apa yang akan dipaparkan dalam suatu halaman
berdasarkan informasi pembolehubah yang datang daripada bentuk HTML. Sebagai
tambahan contoh, satu lagi laman aplikasi diwujudkan dikenali sebagai sign.php
yang ditulis dalam bentuk HTML. Arahan daripada bentuk tersebut dalam laman
berkenaan merupakan create_entry.php.


       <h2>Sign my Guess Book</h2>

       <form method=post action=”create_entry.php”>

       <b>Name:</b>
       <input type=text size=40 name=name>
       <br>
       <b>Location:</b>
       <input type=text size=40 name=location>
       <br>
       <b>Email:</b>
       <input type=text size=40 name=email>
       <br>
       <b>Comment:</b>
       <textarea name=comments cols=40 rows=4 wrap=virtual></textarea>
       <br>

       <input type=submit name=submit value=”Sign”>
       <input type=reset name=reset value=”Start Over”>

       <form>


       Apabila pengguna telah mengisi borang berkenaan dan menghantarnya,
maklumat akan dihantar ke create_entry.php. Perkara pertama yang perlu dilakukan
pada halaman ini adalah memeriksa sama ada borang berkenaan sudahpun dihantar
ataupun tidak. Jika sudah, ambil nilai yang dimasukkan ke dalam borang dan
gunakannya untuk mewujudkan query yang akan dihantar ke MySQL. Tidak perlu
dirisaukan mengenai spesifik query berkenaan. Hanya perlu tahu bahawa ia akan
                                                                                  76

dimasukkan baris ke dalam jadual pangkalan data yang diwujudkan sebelum ini
terlebih dahulu.


         <?php
         include(“dbconnect.php”):

         if ($submit == “Sign”)
         (
                 $query = “insert into guessbook
                        (name,location, email,url,comments) values
                        („$name‟, „$location‟, „$email‟, „$url‟, „$comments‟)”
                 :
                 mysql_query($query) or
                        die (mysql_error()):
     ?>
     <h2>Thanks</h2>
     <h2><a href=”view.php”>view My Guest Book</a></h2>
     <?php
     )
     else
     (
                 include(“sign.php)
     )
     ?>



         Pada kali pertama create_entry.php dipanggil, borang di dalam sign.php akan
dipaparkan. Pada masa lain, data akan ditambah masuk ke dalam pangkalan data.




4.3.10 Memaparkan Maklumat Di Dalam Pangkalan Data



         Pembangun perlu tahu bahawa fail diperlukan untuk dimasukkan ke
dbconnect.php. Sebelum itu diketahui bahawa pangkalan data menyimpan maklumat
                                                                               77

di dalam jadual. Setiap baris jadual akan mengandungi maklumat spesifik data yang
dimasukkan. Jadi, untuk memaparkan semua maklumat, halaman akan memerlukan
pengembalikan semula dan mencetak setiap baris data. Berikut merupakan skrip
yang diperlukan bagi tujuan berkenaan.


       <?php include (“dbconnect.php”): ?>

       <h2>View MyGuess Book</h2>

       <?php
       $result = mysql_query (“select * from guessbook) or
               die (mysql_error()):
       while ($row = mysql_fetch_array ($result))
       (
               echo “<b>Name:</b>”:
       echo $row(“name”):
       echo “<br>\n”:
       echo “<b>Location:</b>”:
       echo $row(“location”):
       echo “<br>\n”:
       echo “<b>Email:</b>”:
       echo $row(“email”):
       echo “<br>\n”:
       echo “<b>Comments:</b>”:
       echo $row(“comments”):
       echo “<br>\n”:
       echo “<br>\n”:
       echo “<br>\n”:
       )
       mysql_free_result ($result):
       ?>

       <h2><a href=”sign.php”> Sign My Guess Book</a></h2>
                                                                                  78

       Query bertanya kepada MySQL bagi setiap baris di dalam pangkalan data.
Kemudian skrip akan memasukkan lingkaran gelung (loop). Setiap baris di dalam
pangkalan data dimuatkan ke dalam pembolehubah $row, satu baris pada satu-satu
masa. Baris akan meneruskan untuk akses sehingga tiada satupun tertinggal. Pada
masa itu, skrip tidak akan mengambil bahagian pada masa lingkaran gelung.




4.4    Kesimpulan



       Oleh kerana pembangunan sistem ini banyak melibatkan perisian yang agak
komplikasi, maka pengetahuan asas mengenai perisian yang digunakan seperti
MySQL, Microsoft Access serta sebagainya perlu dikuasai terlebih dahulu supaya
tidak akan timbul sebarang masalah kelak. Fasa rekabentuk pangkalan data perlu
diberi perhatian lebih kerana kesilapan pada program pangkalan data akan memberi
kesan terhadap keseluruhan pembangunan sistem. Oleh itu, model DFD dan ERD
perlu didasarkan kepada praktis sebenar JKR sekarang. Berikut merupakan
ringkasan langkah asas bagi pembangunan sistem ini khususnya:

       i)     Membuat kajian terhadap sistem konvensional yang dipraktiskan di
              JKR.
       ii)    Hubungan di antara proses yang terlibat seperti proses tender,
              penyediaan senarai bahan dan lukisan spesifikasi dibangunkan melalui
              DFD dan ERD dalam bentuk grafik.
       iii)   Mengenalpasti keperluan pangkalan data.
       iv)    Membina jadual pangkalan data MySQL
       v)     Membuat hubungan antara pangkalan data melalui MySQL

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:211
posted:8/10/2011
language:Malay
pages:29
Description: Seksyen Pangkalan Data document sample