- DASAR TEORI
A. Pengertian Algoritma & Struktur data
Konsep Pemrograman dalam Sistem Komputer Sistem adalah suatu kesatuan elemen yang saling berhubungan sehingga membentuk suatu kelompok dalam melaksanakan suatu tujuan pokok yang ditargetkan (Onno W. Purba : 2000 ). Menurut Electronic Data Processing System (EDPS), sebuah sistem komputer memiliki bagian-bagian fungsional yang disebut perangkat keras (hardware), perangkat lunak (software) dan orang yang berinteraksi/user (brainware).
Perangkat lunak (software) adalah program yang berisi kumpulan instruksi untuk melakukan proses pengolahan data. Dari pengertian tersebut, dapat diketahui bahwa sesungguhnya perangkat lunak terdiri dari bagian dinamis yaitu instruksi serta bagian statis yaitu data. Unjuk kerja instruksi berupa perlakuan/behaviour yang dikenakan kepada data. Setelah dikenai instruksi, data akan berubah menjadi data yang bernilai dan tertampil sebagai informasi.
B. Konsep Umum Algoritma dan Struktur Data
Algoritma menawarkan suatu metode dalam menyelesaikan sebuah permasalahan. Algoritma diartikan sebagai urutan langkah dalam menyelesaikan masalah secara sistematis dan logis. Pendekatan secara sistematis dan logis tersebut, menjadikan proses penyelesaian masalah terjaga kebenarannya karena algoritma hendaklah benar agar dapat menghasilkan keluaran/solusi yang benar pula.
Data adalah fakta dunia nyata. Dalam istilah ilmu komputer, sebuah struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien. Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang tampak oleh pengguna (user) atau pun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna. Pemakaian struktur data yang tepat di dalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, dan secara keseluruhan menjadikan program secara keseluruhan lebih efisien dan sederhana.
C. Road Map Algoritma dan Struktur Data
Pembahasan materi Algoritma dan struktur data memerlukan dasar pengetahuan tentang pemrograman. Algoritma dan struktur data diharapkan dapat menumbuhkan kompetensi berupa pengetahuan dan skill dalam memecahkan persoalan dan memetakannya dalam bentuk program.
- Karakteristik Struktur Data :
- Correctness - Struktur Data implementasi harus mengimplementasikan antarmuka dengan benar.
- Time Complexity - Waktu berjalan atau waktu eksekusi operasional dari strukturdata harus sekecil mungkin.
- Space Complexity - Kompleksitas ruang operasi struktur data harus sesedikit mungkin.
- ARRAY
Array adalah kumpulan data bertipe sama dan menggunakan nama yang sama pula. Antara satu variabel dengan variabel lain di dalam array dibedakan berdasarkan “subscript”. Subscript berupa bilangan di dalam kurung siku [...]. Melalui subscript inilah masing-masing elemen dapat diakses.
A. Array Berdimensi Satu
Array berdimensi satu adalah sekumpulan data/elemen yang disimpan secara berurutan dalam suatu tempat/subscript yang terdiri atas 1 (satu) unsur. Sejumlah data suhu disimpan dalam nama suhu terdiri dari Suhu 1 = 25°, Suhu 2 = 23,5°, Suhu 3 = 21°, Suhu 4 = 26° dan Suhu 5 = 35° Pendefinisian array meliputi nama array, tipe elemen array dan jumlah elemen array. Contoh : Float nilai_mhs [12]; Keterangan :
1. tipe array : float (bilangan pecah)
2. nama array : nilai_mhs
3. jumlah elemen array : 12 data, yaitu nilai_mhs[1], nilai_mhs[2],...., nilai_mhs[12].
Nilai elemen array dapat dimasukkan melalui keyboard atau dimasukkan saat didefinisikan pada program.
B. Array Berdimensi Dua Array berdimensi dua adalah sekumpulan data/elemen yang disimpan secara berurutan dalam suatu tempat/subscript yang terdiri atas 2 (dua) unsur, yaitu baris dan kolom. Array berdimensi dua berarti meiliki dua dimensi data. Contoh sederhana adalah data yang tertulis dalam gambar tabel berikut ini :
Merk Mobil
|
1994
|
1995
|
1996
|
1997
|
Honda
|
35
|
45
|
80
|
120
|
Daihatsu
|
100
|
100
|
70
|
101
|
Suzuki
|
10
|
15
|
20
|
17
|
Gambar 2.1 Array Berdimensi 2
Jika dibuat programnya adalah sebagai berikut :
int data_mobil [3] [4];
Keterangan :
1. baris 1 → baris 3 : menunjukkan merek mobil.
2. kolom 1 → kolom 4 : menunjukkan tahun penjualan.
3. tipe array : integer (bilangan bulat).
4. nama array : data_mobil.
5. jumlah elemen array : [3,4]
6. [2,3] dibaca : penjualan mobil merek Daihatsu pada tahun 1994 adalah 70 unit.
C. Array Sebagai Argumen Fungsi
Array juga dapat berkedudukan sebagi parameter di dalam fungsi. Contoh pendefinisian : const int MAKS = 5 Int data[MAKS]; Fungsi adalah bagian program yang berisi sejumlah pernyataan tertentu yang dapat dipanggil berulang kali. Tujuan pembuatan fungsi adalah :
1. Memudahkan dalam mengembangkan program.
2. Menghemat ukuran program
Beberapa hal yang harus diperhatikan dalam pembuatan fungsi adalah :
1. Fungsi menerima masukan yang disebut argumen atau parameter.
2. Masukan diproses oleh fungsi dan memberikan hasil akhir yang disebut nilai balik (return value).
3. Agar fungsi dapat dipanggil, fungsi harus dideklarasikan.
Prototipe
Deklarasi fungsi disebut prototype fungsi yang berupa :
1. nama fungsi
2. tipe nilai balik fungsi
3. jumlah dan tipe argument
4. serta diakhiri dengan titik koma (;).
Contoh :
Long kuadrat(long l)
dimana menyatakan kuadrat() adalah nama fungsi, long adalah tipe argument, long (kedua) menunjukkan nilai balik yang bertipe long. Void garis() menyatakan fungsi tanpa nilai balik Pernyataan return digunakan untuk memberikan nilai balik fungsi. Dalam fungsi diatas berarti nilai kuadrat dari argument. Fungsi dengan pernyataan void tidak memberikan nilai balik. Biasanya tidak diakhiri pernyataan return. Jenis variabel dalam kaitannya dengan lingkup fungsi terdapat tiga macam yaitu : variabel otomatis, variabel eksternal dan variabel statis.
Variabel Lokal (otomatis)
Variabel yang didefinisikan di dalam fungsi disebut variabel local. Variabel ini hanya dikenal dalam fungsi tersebut.
Variabel Global (eksternal)
Variabel yang didefinisikan di bagian luar manapun dari fungsi dan dikenal oleh semua fungsi. Disebut juga variabel global, karena dikenal de semua fungsi.
Variabel Statis
Baik variabel local maupun global dapat berfungsi sebagai variabel statis dengan cara menambahkan pada kedua variabel tersebtu pernyatan static. Kemudian pada kedua variabel tersebtu berlaku hal sebagai berikut :
1. Jika variabel local berdiri sebagai variabel statis maka variabel tetap hanya dapat diakses pada fungsi yang mendefinisikannya, variabel tidak hilang saat eksekusi fungsi berakhir. Nilainya akan tetap dipertahankan, sehingga akan dikenali pada pemanggilan fungsi untuk tahap berikutnya.
2. Inisialisasi oleh pemrogram akan dilakukan sekali saja selama program dijalankan. Jika tidak ada inisialisasi secara eksplisit, variabel diisi dengan nol.
3. Jika variabel eksternal dijadikan sebagai variabel statis, variabel ini dapat diakses oleh semua file yang didefinisikan pada file yang sama dengan variabel eksternal tersebut .
Rekursi Suatu fungsi dapat memanggil fungsi yang merupakan dirinya sendiri. Misal untuk menghitung Xn. 2.3
- Struktur
Struktur bermanfaat untuk mengelompokkan sejumlah data dengan tipe yang berlainan. Sebuah contoh deklarasi struktur adalah sebagai berikut :
Struct data_mahasiswa
{
char nim[6];
char nama[100];
int umur;
}
Pada contoh tersebut, tampak dideklarasikan sebuah struktur bernama data_mahasiswa yang terdiri dari tiga buah anggota berupa :
Nim
Nama
Umur
Apabila struktur tersebut telah dideklarasikan, struktur dapat digunakan untuk mendefinisikan suatu variabel, misalnya : data_mahasiswa mhs1; merupakan pendefinisian sebuah variabel struktur mhs1 yang bertipe struktur data_mahasiswa.
- Sorting
Sorting atau pengurutan data adalah salah satu mekanisme pengelolaan data yang sering dipergunakan untuk beragam keperluan. Dengan sorting, seseorang bisa mendapatkan suatu keadaan data yang lebih informatif dan berarti. Terdapat beberapa macam model sorting diantarnya Exchange Sorting, Bubble Sorting dan Insertion Sorting.
Identitas Penulis :
Nama : Rizal Nur Aprianto
NIM : A710160030
Kelas : A
Prodi : Pendidikan Teknik Informatika
Referensi :
- E-Book dari http://www.jakapramana.com/2015/05/download-modul-belajar-algoritma-dan.html
- http://www.kapalomen.com/2016/06/konsep-dan-pengertian-struktur-data.html
0 komentar:
Posting Komentar