Pengenalan Kepada Struktur Data by ubs20614

VIEWS: 471 PAGES: 14

									Pengenalan




             Pengenalan Kepada Struktur Data
                      Dan Algoritma


Objektif
    Menakrif maksud algoritma, struktur data dan
    penggunaannya.
    Mengenal pasti fasa-fasa yang terdapat dalam
    kitar hayat pembangunan aturcara.
    Mengenalpasti isu-isu penting yang perlu
    diambilkira untuk menghasilkan sebuah aturcara
    yang baik.


Pengenalan

1. Kajian Sains Komputer melibatkan 3 bidang asas:
     Matematik.
     Sains.
     Kejuruteraan.

2. Seorang ahli Sains Komputer perlu :
   Mempunyai kepakaran utk membuat rumusan
   matematik dan melaksanakan alasan secara matematik
   ketika menganalisa sesuatu masalah berkomputer.
   Memperolehi kefahaman mengenai metod ujikaji
   secara saintifik dan tahu cara-cara sistematik utk
   memahami permasalahan berkomputer yg ingin
   diselesaikan, mengumpul data dan menguji data
   aturcara.


                                                     1
                                 Pengenalan Kepada Struktur Data & Algoritma




    Faham bgmn sesuatu proses itu berlaku dan perlu
    boleh berfikir secara kreatif utk merekabentuk
    algoritma, memilih struktur data yg sesuai dan boleh
    membangunkan sesuatu perisian utk menyelesaikan
    masalah.

3. Penyelesaian masalah secara berkomputer bermula dr
   memahami masalah yg hendak diselesaikan ,
   kemudian merekabentuk cara penyelesaian dan
   seterusnya menulis aturcaranya.

4. Penyelesaian di sini melibatkan 2 komponen penting
   iaitu :
      Algoritma.
      Struktur data.

5. Pemilihan struktur data dan algoritma yg sesuai adalah
   penting dlm menentukan keberkesanan penyelesaian
   masalah dr segi penggunaan ruang storan dan masa
   lariannya.
Pengenalan Kepada Algoritma
1. Algoritma merupakan suatu siri tatacara yang disusun
   langkah demi langkah yang dibina untuk
   menyelesaikan masalah.
2. Perkataan ‘algoritma’ bersempena nama seorang ahli
   matematik berbangsa Parsi Abu Ja’far Mohammed
   Ibnu Musa Al-Khawarizmi atau secara ringkasnya Al-
   Khawarizmi.
3. Di dalam bidang Sains Komputer, algoritma
   merupakan suatu turutan arahan kepada komputer
   yang memberi penyelesaian logik bagi sesuatu
   masalah. Ia melibatkan operasi keatas koleksi data-


                                                                          2
Pengenalan




   data. Ia dianggap sebagai suatu kaedah penyelesaian
   masalah secara logik kerana terdiri daripada susunan
   arahan yang menyatakan bagaimana sesuatu
   pemprosesan untuk menyelesaikan sesuatu masalah itu
   dilaksanakan.
4. Algoritma yang direkabentuk secara berstruktur adalah
   lebih mudah untuk dibaca, difahami, dikaji dan
   diperbetulkan (sekiranya ada kesilapan).
5. Algoritma bersturktur mempunyai 3 jenis struktur
   kawalan asas, iaitu:
      Jujukan –
      Langkah-langkah dilaksanakan secara berturutan
      selangkah demi selangkah.
      Pilihan
      Satu daripada beberapa pilihan perlaksanaan akan
      dipilih dan dilaksanakan.
      Ulangan / gelung
      Satu atau lebih langkah dilaksanakan berulangkali.
Ketiga-tiga struktur kawalan ini cukup berkesan
digunakan untuk membina logik sesuatu algoritma.

6. Algoritma boleh disediakan dalam pelbagai bentuk
   iaitu samada ditulis menggunakan bajasa tabii
   manusia, kod pseudo, carta alir atau bahasa
   pengaturcaraan seperti Pascal, C dsbnya.

7. Ciri penting bagi sesebuah algoritma ialah:
   • Penyelesaian masalah yang terhingga (ada
     penamat)
   • Setiap arahan yang dikemukakan adalah jelas
   • Mempunyai input, untuk memulakan perlaksanaan
   • Mempunyai output, hasil perlaksanaan
   • Boleh dilarikan apabila diimplimen atau berkesan

                                                       3
                                Pengenalan Kepada Struktur Data & Algoritma




Kajian Kes

Masalah ini hendak menentukan dan mencetak
nombor yang terbesar diantara dua nombor yang
dibaca dari papan kekunci. Dua nombor ini akan
dibaca serentak dan perbandingan ke atas
kedua-dua nombor tersebut akan dilakukan.

Algoritma Membandingkan nombor yang terbesar dari
dua nilai yang dibaca
1. Baca nombor1 dan nombor2
2. Jika nombor1 lebih besar dari nombor2
   2.1.    Cetak mesej nombor1 lebih besar dari nombor2
3. Jika nombor2 lebih besar dari nombor1
   3.1 Cetak mesej nombor2 lebih besar dari nombor1
4. Jika syarat ‘2’ dan ‘3’ tidak benar
   4.1 Cetak mesej nombor1 dan nombor2 mempunyai
   nilai yang sama
5. Tamat




                                                                         4
Pengenalan




Penyelesaian menggunakan cartalir.

               MULA




             BACA
             nombor1



             BACA
             nombor2




             JIKA         YA           CETAK
             nombor1>                “Nombor1 >
             nombor2                 Nommbor2”


             TIDA
               K


                JIKA      YA           CETAK
              nombor2 >              “Nombor2 >
               nombor1               Nommbor1”


             TIDA
               K
               CETAK
             “Nombor1 =
             Nommbor2”



               TAMAT




                                                  5
                                   Pengenalan Kepada Struktur Data & Algoritma




Pengenalan Kepada Struktur Data
1. Struktur data merupakan kaedah untuk menyusun
   data-data yang akan diproses oleh komputer. Ia adalah
   gabungan nilai data yang disusun berasaskan sesuatu
   struktur yang akan membentuk susunan data. Beberapa
   set operasi boleh dilakukan keatas susunan data
   tersebut.

2. Struktur data boleh dibahagikan kepada 4 kategori
   asas, iaitu:
   • Struktur storan
   • Struktur pautan
   • Struktur keadaan
   • Struktur hubungan

Struktur Storan
Struktur storan mengawal reka letak data pada ingatan
secara terus. Ia boleh dibahagikan kepada dua jenis, iaitu:
  • Tatasusunan (array)
  • Rekod atau struktur (structure)
Struktur Pautan
Digunakan untuk mengkaitkan suatu nod (satu struktur
susunan data, biasanya disusun dalam bentuk rekod),
dengan nod yang lain. Pautan diantara nod-nod boleh
dilakukan secara linear atau tidak linear. Contoh sturktur
pautan adalah seperti:
   • Senarai berpaut (linked list)
   • Pepohon (tree)
   • Graf (graph)



                                                                            6
Pengenalan




Struktur Keadaan
Struktur keadaan digunakan untuk menggambarkan tugas
yang berlaku didalam sesuatu proses yang berlaku di
dunia sebenar. Contoh struktur keadaan adalah seperti:
  • Tindanan (stack)
  • Baris gilir (queue)
Struktur Hubungan
Struktur hubungan melaksanakan hubungan antara
kekunci capaian dan data yang lain untuk memudahkan
operasi carian. Contoh penggunaan struktur hubungan
adalah seperti
  • Jadual (table)
  • Pepohon carian (search tree)
Jenis Data
1. Terdapat dua jenis data iaitu data asas dan data
   niskala.
2. Jenis data asas boleh dibahagikan kepada tiga jenis,
   iaitu:
   • Data mudah (Simple data types)
   • Data penuding (Pointer)
   • Data berstruktur

3. Pemilihan jenis data yang hendak digunakan adalah
   bergantung kepada nilai yang hendak diwakilkan oleh
   pembolehubah. Contohnya, untuk mewakilkan nilai
   umur, maka jenis data yang digunakan adalah integer.
   Bagi mewakilkan nama pelajar pembolehubah
   tatasusunan berjenis aksara boleh digunakan. (Bahasa
   pengaturcaraan C tidak mempunyai data jenis rentetan
   aksara).


                                                      7
                                 Pengenalan Kepada Struktur Data & Algoritma




Jenis Data Mudah
Jenis data mudah hanya boleh menyimpan satu nilai.
Jenis data mudah boleh dibahagikan kepada dua jenis,
iaitu:
   • Pre-define data types
      Jenis data yang telah ditakrifkan oleh bahasa
      pengaturcaraan seperti int bagi data berjenis
      integer, char bagi data berjenis aksara dan
      sebagainya.
   • User-define data types
      Data takrifan pengguna ialah jenis data yang telah
      ditakrifkan oleh pengaturcara seperti data jenis
      bernombor (enumerated data types).

Jenis Data Penuding
Jenis data penuding merupakan jenis data takrifan
pengguna. Jenis datanya adalah bergantung kepada jenis
data yang dituding oleh pembolehubah penuding (yang
ditentukan oleh pengguna).

Jenis Data Berstruktur
Jenis data bersturtur merupakan jenis data yang boleh
ditakrifkan oleh pengguna. Contoh jenis data
bersturuktur adalah seperti tatasusunan, struktur dan
union.
Jenis Data Niskala
Jenis Data Niskala (Abstract Data Types) memodelkan
suatu operasi objek dari dunia sebenar. Daripada model
ini, struktur data dibina oleh pengaturcara dengan
menggunakan beberapa jenis data yang difikirkan perlu.

                                                                          8
Pengenalan




Operasi keatas objek biasanya mempunyai beberapa
peraturan tertentu. Peraturan ini perlu diambil kira dalam
memproses data.
Contoh jenis data niskala iaitu senarai berpaut, tindanan,
giliran dan pepohon.

Pengenalan Kepada Prinsip-prinsip pengaturcaraan

1. Aturcara ditulis untuk menyelesaikan masalah yang
   khas kepada keadaan tertentu.
2. Masalah yang cuba diselesaikan oleh pengaturcara
   adalah masalah yang dihadapi oleh pengguna.
   Seringkali pengguna yang mahukan penyelesaian
   masalah secara berkomputer merupakan mereka yang
   tidak mahir dalam pengaturcaraan.
3. Mereka akan menyatakan masalah yang mereka
   hadapi, dan inginkan pengaturcara atau juruanalisa
   sistem menyelesaikannya secara berkomputer. Oleh
   kerana pengguna bukannya seorang yang mahir dalam
   pengaturcaraan, tentunya keperluan atau kenyataan
   mereka untuk sesebuah sistem berkomputer adalah
   tidak lengkap.
4. Biasanya dalam projek pembangunan perisian yang
   besar-besar, lebih dari seorang pengaturcara
   dilibatkan. Mereka perlu bekerjasama di dalam
   sesebuah team dan perlu berkomunikasi antara satu
   dengan lain untuk menyelesaikan masalah dalam masa
   yang ditetapkan.
5. Kejuruteraan Perisian merupakan salah satu bidang di
   dalam Sains Komputer yang menyediakan kaedah dan
   teknik dalam pembangunan aturcara berkomputer
   untuk menghasilkan aturcara atau perisian yang
   berkualiti.

                                                         9
                                  Pengenalan Kepada Struktur Data & Algoritma




6. Di dalam proses pembangunan perisian, terdapat
   beberapa fasa atau langkah untuk menyelesaikan
   masalah yang perlu dilalui. Fasa-fasa tersebut dikenali
   sebagai kitarhayat perisian seperti yang digambarkan
   oleh rajah 1.
7. Fasa-fasa dalam kitar hayat perisian adalah seperti
   berikut:
     Perancangan
     Analisa keperluan
     Rekabentuk sistem
     Implementasi
     Verifikasi dan validasi
     Operasi dan penyenggaraan
8. Rajah 1 menunjukkan bagaimana aktiviti-aktiviti
   didalam kitaran hayat ini dilakukan.
Fasa Perancangan
1. Merupakan fasa pertama yang perlu dilalui dalam
   usaha membangunkan perisian.
2. Matlamat utama fasa perancangan ialah untuk
   menentukan objektif umum, skop kerja, sumber
   termasuk kakitangan dan peralatan yang akan terlibat,
   kos dan jadual perancangan kerja.
3. Fasa ini juga adalah merupakan subset kepada aktiviti
   pengurusan projek perisian, dan ianya mungkin juga
   dilakukan di pertengahan pelaksanaan projek jika
   sesuatu perkara yang tidak dijangka berlaku. Perkara
   yang tidak dijangka ini mungkin pertukaran
   kakitangan, tiada bekalan perkakasan, krisis ekonomi
   dan sebagainya.



                                                                          10
Pengenalan




4. Perancangan merupakan satu kerja yang rumit yang
   memerlukan kepakaran dan pengalaman bekerja.
   Perancangan yang baik ialah perancangan yang dapat
   menghasilkan spekulasi kos dan jadual kerja yang rapi
   dan tepat sebagaimana yang dijangkakan.

   Perancang
   an Sistem

                  Analisa
                 Keperluan

                             Rekabentu
                                 k
                                         Pengkodan


                                                     Pengujian


                                                                 Operasi dan
                                                                 penyenggar


             Rajah 1 Kitaran hayat pembangunan sistem

Fasa Analisa Keperluan
Matlamat utama fasa analisa keperluan ialah untuk
menyelidiki keperluan perisian. Kajian mendalam
terhadap permasalahan semasa dan perbincangan dengan
pihak pengguna adalah penting bagi memahami objektif
perisian yang sebenar. Maklumat yang dikumpul
kemudian perlu dianalisa dan diteliti sebelum suatu
sistem perisian dicadangkan. Selain daripada keperluan
pengguna, keperluan organisasi dan piawaian juga akan
dikenalpasti.

                                                                     11
                                   Pengenalan Kepada Struktur Data & Algoritma




Fasa Rekabentuk
1. Dalam fasa analisa keperluan, kita menentukan apa
   yang sistem mesti lakukan dengan mengenalpasti
   secara fungsi-fungsi yang berkaitan, tetapi dalam fasa
   rekabentuk kita perlu jelaskan dengan lebih mendalam
   bagaimana sistem akan menyelesaikan sesuatu
   masalah.
2. Aktiviti-aktiviti di dalam fasa rekabentuk perisian
   bertujuan untuk menterjemahkan fungsi-fungsi (atau
   proses) di dalam spesifikasi keperluan kepada
   komponen-komponen perisian. Setiap proses dan
   hubungan antara proses perlu diterangkan dengan
   lebih terperinci agar dapat memudahkan pengaturcara
   menulis aturcara nanti.
3. Rekabentuk melibatkan aktiviti memecah dan
   memperincikan penyelesaian kepada bentuk modul
   yang berstruktur. Unit modul merupakan pecahan
   sistem yang terkecil yang tidak boleh dipecahkan lagi.
4.   Dalam fasa rekabentuk, kita perlu membincangkan
     aspek-aspek lain termasuk antaramuka pengguna,
     pangkalan data, bentuk input yang akan digunakan dan
     laporan yang akan dihasilkan.

Fasa Implementasi
1. Fasa implimentasi dikenali juga sebagai fasa
   pengkodan, merupakan usaha menukarkan atau
   menterjemahkan rekabentuk terperinci di atas kepada
   kod aturcara.
2. Jika ralat berlaku setelah aturcara dikompil, aturcara
   tersebut perlu diperbetul dan dikompil semula dan

                                                                           12
Pengenalan




    begitulah seterusnya sehinggalah tiada lagi ralat
    berlaku.
3. Fasa ini menjadi suatu fasa yang paling mudah
   sekiranya fasa analisa dan rekabentuk dilakukan
   dengan betul dan lengkap.


Fasa Verifikasi dan Validasi
1. Sungguhpun semua ralat dapat dikesan semasa dalam
   proses pengkompilan, ini tidaklah bermakna bahawa
   aturcara tersebut berjaya dilaksanakan dan dapat
   mencapai matlamat pengguna.
2. Perisian yang dibina perlu disemak dan disahkan
   sebelum ia diserahkan kepada pengguna. Aktiviti ini
   dinamakan verifikasi dan validasi.
3. Aturcara yang ditulis perlu diuji, disemak dan
   disahkan dengan menggunakan sampel data, di mana
   aturcara dilaksanakan dan output yang dihasilkan akan
   dibandingkan dengan output yang dijangkakan. Jika
   didapati ada perbezaan, laporan akan dikeluarkan dan
   pengaturcara akan dimaklumkan untuk membuat
   pembetulan.
4. Namun begitu, verifikasi dan validasi bukan terhad
   kepada aturcara yang dihasilkan sahaja. Ia juga
   dilakukan terhadap perancangan projek, spesifikasi
   keperluan dan rekabentuk sistem.




                                                      13
                                Pengenalan Kepada Struktur Data & Algoritma




Fasa Operasi dan Penyenggaraan
1. Setelah aturcara berjaya diuji sepenuhnya ini
   bermakna ia boleh beroperasi seperti yang
   dikehendaki. Peringkat ini merupakan peringkat
   penggunaan perisian, di mana perisian dipasang dan
   pengguna boleh menggunakan perisian tersebut.
2. Proses penyerahan perisian untuk digunakan pengguna
   memerlukan perancangan yang rapi. Perancangan ini
   termasuklah latihan kepada pengguna, manual,
   sokongan teknikal dan sebagainya.
3. Penyenggaraan pula dilakukan apabila terdapat
   keperluan untuk perubahan di dalam perisian yang
   telah beroperasi.

4. Keperluan untuk perubahan ini mungkin terhasil
   daripada ralat yang tidak berjaya dikesan semasa
   pengujian. Ia juga mungkin lahir daripada keperluan
   pengguna yang baru ataupun persekitaran peralatan
   yang berubah.

5. Penyenggaraan juga boleh berlaku apabila ada
   perubahan untuk meningkatkan lagi keupayaan
   perisian sedia ada dengan menambahkan beberapa
   fungsi baru.




                                                                        14

								
To top