Dasar Pengetahuan Struktur Data
Dalam mempelajari struktur data hal-hal awal yang perlu kita ketahui adalah tentang konstanta, variable, dan tipe data.
1. Konstanta
Dalam membuat suatu program, kita perlu menggunakan konstanta agar program kita bisa lebih mudah diperbaiki jika ada suatu kesalahan yang kita buat. Dengan menggunakan konstanta kita bisa memberikan nama yang mudah dimengerti dan dipahami untuk bilangan numerik yang sangat kompleks. Konstanta dideklarasikan pada awal program dan dideklarasikan dengan kata baku const. Sesuai dengan namanya “konstanta”, maka nilai dalam konstanta selalu konstan atau tetap dan kita tidak dapat merubah nilai dari konstanta pada saat program sedang dijalankan.
2. Variabel
Variabel adalah lokasi di memori yang kita siapkan dan kita beri nama khas untuk menampung suatu nilai dan atau mengambil nilai kembali tersebut. Bentuk umum dari variable adalah:
Dalam mempelajari struktur data hal-hal awal yang perlu kita ketahui adalah tentang konstanta, variable, dan tipe data.
1. Konstanta
Dalam membuat suatu program, kita perlu menggunakan konstanta agar program kita bisa lebih mudah diperbaiki jika ada suatu kesalahan yang kita buat. Dengan menggunakan konstanta kita bisa memberikan nama yang mudah dimengerti dan dipahami untuk bilangan numerik yang sangat kompleks. Konstanta dideklarasikan pada awal program dan dideklarasikan dengan kata baku const. Sesuai dengan namanya “konstanta”, maka nilai dalam konstanta selalu konstan atau tetap dan kita tidak dapat merubah nilai dari konstanta pada saat program sedang dijalankan.
2. Variabel
Variabel adalah lokasi di memori yang kita siapkan dan kita beri nama khas untuk menampung suatu nilai dan atau mengambil nilai kembali tersebut. Bentuk umum dari variable adalah:
Var
NamaVariabel1,
NamaVariabel2,
……………….
NamaVariabel1N : TipeData1;
NamaVariabel1,
NamaVariabel2,
NamaVariabelNN : TipeDataN;
Tipe Data
Atribut penting yang digunakan untuk suatu tipe data terstruktur adalah sebagai berikut :
NamaVariabel1,
NamaVariabel2,
……………….
NamaVariabel1N : TipeData1;
NamaVariabel1,
NamaVariabel2,
NamaVariabelNN : TipeDataN;
Tipe Data
Atribut penting yang digunakan untuk suatu tipe data terstruktur adalah sebagai berikut :
a. Jumlah Komponen
Berdasarkan jumlah komponen selama eksekusi program, maka dapat dikelompokkan menjadi :
- Struktur Data Statis (Jumlah komponennya tidak berubah)
- Struktur Data Dinamis (Jumlah komponennya dapat berubah)
b. Tipe untuk setiap komponennya
Apabila tipe data untuk seluruh komponennya harus sama, maka disebut Struktur Data Homogen, dan bila dimungkinkan komponennya mempunyai tipe data yang berbeda-beda, maka disebut Struktur Data Heterogen.
c. Nama-nama untuk memilih komponen
Hampir semua struktur data menyediakan operasi untuk mengakses komponen secara individu. Pada suatu array (kumpulan data yang mempunyai tipe sama), hal ini dilakukan dengan sebuah indeks berupa angka.
d. Jumlah maksimum komponen
Tidak semua jenis struktur data harus ditentukan jumlah maksimum komponen, namun untuk sebuah tipe data dinamis mungkin perlu ditentukan dengan jelas.
e. Pengorganisasian semua komponennya
Susunan yang paling umum adalah berupa barisan linier seperti pada array berdimensi 1, record, list, stack dan file. Selanjutnya ada yang dapat dikembangkan menjadi struktur non linier seperti array multi dimensi dan juga pohon/tree.
Jenis tipe data yang biasanya digunakan dalam data terstruktur adalah sebagai berikut :
Integer
Integer adalah tipe data nilainya merupakan bilangan bulat dan teerbagi atas beberapa macam. Berikut ini adalaha tabelnya:
Berdasarkan jumlah komponen selama eksekusi program, maka dapat dikelompokkan menjadi :
- Struktur Data Statis (Jumlah komponennya tidak berubah)
- Struktur Data Dinamis (Jumlah komponennya dapat berubah)
b. Tipe untuk setiap komponennya
Apabila tipe data untuk seluruh komponennya harus sama, maka disebut Struktur Data Homogen, dan bila dimungkinkan komponennya mempunyai tipe data yang berbeda-beda, maka disebut Struktur Data Heterogen.
c. Nama-nama untuk memilih komponen
Hampir semua struktur data menyediakan operasi untuk mengakses komponen secara individu. Pada suatu array (kumpulan data yang mempunyai tipe sama), hal ini dilakukan dengan sebuah indeks berupa angka.
d. Jumlah maksimum komponen
Tidak semua jenis struktur data harus ditentukan jumlah maksimum komponen, namun untuk sebuah tipe data dinamis mungkin perlu ditentukan dengan jelas.
e. Pengorganisasian semua komponennya
Susunan yang paling umum adalah berupa barisan linier seperti pada array berdimensi 1, record, list, stack dan file. Selanjutnya ada yang dapat dikembangkan menjadi struktur non linier seperti array multi dimensi dan juga pohon/tree.
Jenis tipe data yang biasanya digunakan dalam data terstruktur adalah sebagai berikut :
Integer
Integer adalah tipe data nilainya merupakan bilangan bulat dan teerbagi atas beberapa macam. Berikut ini adalaha tabelnya:
Type |
Range
|
Ukuran
|
Format
|
ShortIn Integer LongInt Byte Word |
-128…127 -32768..32767 -2147483648..2147483647 0..255 0..65535 |
1 2 4 1 2 |
Signed 8-bit Signed 16-bit Signed 32-bit Unsigned 8-bit Unsigned 16-bit |
Boolean
Boolean digunakan untuk merepresentasikan logika. Bolean hanya dapat bernilai True(1) dan False(0). Di bawah ini adalah beberapa tipe data Boolean:
Boolean digunakan untuk merepresentasikan logika. Bolean hanya dapat bernilai True(1) dan False(0). Di bawah ini adalah beberapa tipe data Boolean:
Type |
Range
|
Ukuran
|
Boolean ByteBool WordBool LongBool | Byte-sized Byte-sized Word-sized Long-sized | 1 (8bit) 1 (8bit) 2 (16bit) 4 (32bit) |
Real
Real biasanya digunakan untuk merepresentasikan nilai pecahan. Jenis-jenis tipe data real seperti pada tabel berikut ini:
Real biasanya digunakan untuk merepresentasikan nilai pecahan. Jenis-jenis tipe data real seperti pada tabel berikut ini:
Type |
Range
|
Ukuran
|
Digit
|
Real Single Double Extended Comp | ±2.9×10-39..1.7×1038 ±1.5×10-45..3.4×1038 ±5×10-324..1.7×10308 ±3.4×10-4932..1.1×104932 ±9.2×1018..9.2×1018 | 6 4 8 10 8 | 11-12 7-8 15-16 19-20 19-20 |
Karakter
Tipe data karakter hanya dapat menampung satu karakter saja dan mengalokasikan satu byte memori. Bentuk umum dari tipe data karakter adalah:
Var
: char;
String
String adalah tipe data gabungan(array) dari karakter sebanyal 256 karakter. Bentuk umum dari string adalah:
Var: string;
Ada juga tipe data lain yang elemennya kita sebutkan satu persatu. Tipe data ini adalah tipe data Enumerasi. Bentuk umum dari tipe data enumerasi adalah:
type : (elemen1, elemen2, elemen3….elemenN);
Tipe data karakter hanya dapat menampung satu karakter saja dan mengalokasikan satu byte memori. Bentuk umum dari tipe data karakter adalah:
Var
: char;
String
String adalah tipe data gabungan(array) dari karakter sebanyal 256 karakter. Bentuk umum dari string adalah:
Var: string;
Ada juga tipe data lain yang elemennya kita sebutkan satu persatu. Tipe data ini adalah tipe data Enumerasi. Bentuk umum dari tipe data enumerasi adalah:
type : (elemen1, elemen2, elemen3….elemenN);
Jenis Struktur Data
1. Struktur Data Sederhana
a. Array(Larik)
Larik adalah struktur data statik yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks larik harus tipe data yang menyatakan keterurutan misalnya integer atau karakter. Banyaknya elemen larik harus sudah diketahui sebelum program dieksekusi. Tipe elemen larik dapat berupa tipe sederhana, tipe terstruktur, atau tipe larik lain. Nama lain array adalah Larik, tabel, atau vektor
b. Record(Catatan)
ADT adalah definisi tipe dan sekumpulan primitif (operasi dasar) terhadap tipe tersebut. Tipe diterjemahkan menjadi tipe terdefinisi dalam bahasa pemrograman yang bersangkutan.
2. Struktur Data Majemuk
1. Linier
Stack(Tumpukan)
Stack (tumpukan) adalah list linier yang dikenali elemen puncaknya (top), aturan penyisipan dan penghapusan elemennya tertentu (penyisipan selalu dilakukan “di atas” (top), penghapusan selalu dilakukan pada top). Karena aturan penyisipan dan penghapusan semacam itu, top adalah satu-satunya alamat tempat terjadi operasi. Elemen yang ditambahkan paling akhir akan menjadi elemen yang akan dihapus. Dikatakan bahwa elemen stack akan tersusun secara LIFO (Last In First Out).
Queue(Antrian)
Queue (antrian) adalah list linier yang dikenali elemen pertama (head) dan elemen terakhirnya (tail); Aturan penyisipan dan penghapusan elemennya disefinisikan sebagai penyisipan selalu dilakukan setelah elemen terakhir, penghapusan selalu dilakukan pada elemen pertama; Satu elemen dengan elemen lain dapat diakses melalui informasi next.
List dan Multi-List (Daftar)
List linier adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari 2 bagian. sebuah list linier dikenali dengan (1) elemen pertamanya, biasanya melalui alamat elemen pertama yang disebut (first); (2) Alamat elemen berikutnya (suksesor), jika kita mengetahui alamat sebuah elemen, yang dapat diakses melalui field next; (3) Setiap elemen mempunyai alamat, yaitu tempat elemen disimpan dapat diacu. Untuk mengacu sebuah elemen, alamat harus terdefinisi. Dengan alamat tersebut informasi yang tersimpan pada elemen list dapat diakses; (4) Elemen terakhirnya.
2. Non-Linier
Binary Tree (Pohon Biner)
Sebuah pohon biner (binary tree) adalah himpunan terbatas yang mungkin kosong atau terdiri dari sebuah simpul yang disebut sebagai akar dan dua buah himpunan lain yang disjoint yang merupakan pohon biner yang disebut sebagai sub pohon kiri (left) dan sub pohon kanan (right) dari pohon biner tersebut. Pohon biner merupakan tipe yang sangat penting dari struktur data dan banyak dijumpai dalam berbagai terapan. Karakteristik yang dimiliki oleh pohon biner adalah bahwa setiap simpul paling banyak hanya memiliki dua buah anak, dan mungkin tidak punya anak. Istilah-istilah yang digunakan sama dengan istilah pada pohon secara umum.
Graph (Graf)
Graph merupakan struktur data yang paling umum. Jika struktur linier memungkinkan pendefinisian keterhubungan sekuensial antara entitas data, struktur data tree memungkinkan pendefinisian keterhubungan hirarkis, maka struktur graph memungkinkan pendefinisian keterhubungan tak terbatas antara entitas data. Banyak entitas-entitas data dalam masalah-masalah nyata secara alamiah memiliki keterhubungan langsung (adjacency) secara tak terbatas demikian. Contoh: informasi topologi dan jarak antar kota-kota di pulau Jawa. Dalam masalah ini kota X bisa berhubungan langsung dengan hanya satu atau lima kota lainnya. Untuk memeriksa keterhubungan dan jarak tidak langsung antara dua kota dapat diperoleh berdasarkan data keterhubungan-keterhubungan langsung dari kota-kota lainnya yang memperantarainya. Representasi data dengan struktur data linier ataupun hirarkis pada masalah ini masih bisa digunakan namun akan membutuhkan pencarian-pencarian yang kurang efisien. Struktur data graph secara eksplisit menyatakan keterhubungan ini sehingga pencariannya langsung (straightforward) dilakukan pada strukturnya sendiri.
1. Struktur Data Sederhana
a. Array(Larik)
Larik adalah struktur data statik yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks larik harus tipe data yang menyatakan keterurutan misalnya integer atau karakter. Banyaknya elemen larik harus sudah diketahui sebelum program dieksekusi. Tipe elemen larik dapat berupa tipe sederhana, tipe terstruktur, atau tipe larik lain. Nama lain array adalah Larik, tabel, atau vektor
b. Record(Catatan)
ADT adalah definisi tipe dan sekumpulan primitif (operasi dasar) terhadap tipe tersebut. Tipe diterjemahkan menjadi tipe terdefinisi dalam bahasa pemrograman yang bersangkutan.
2. Struktur Data Majemuk
1. Linier
Stack(Tumpukan)
Stack (tumpukan) adalah list linier yang dikenali elemen puncaknya (top), aturan penyisipan dan penghapusan elemennya tertentu (penyisipan selalu dilakukan “di atas” (top), penghapusan selalu dilakukan pada top). Karena aturan penyisipan dan penghapusan semacam itu, top adalah satu-satunya alamat tempat terjadi operasi. Elemen yang ditambahkan paling akhir akan menjadi elemen yang akan dihapus. Dikatakan bahwa elemen stack akan tersusun secara LIFO (Last In First Out).
Queue(Antrian)
Queue (antrian) adalah list linier yang dikenali elemen pertama (head) dan elemen terakhirnya (tail); Aturan penyisipan dan penghapusan elemennya disefinisikan sebagai penyisipan selalu dilakukan setelah elemen terakhir, penghapusan selalu dilakukan pada elemen pertama; Satu elemen dengan elemen lain dapat diakses melalui informasi next.
List dan Multi-List (Daftar)
List linier adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari 2 bagian. sebuah list linier dikenali dengan (1) elemen pertamanya, biasanya melalui alamat elemen pertama yang disebut (first); (2) Alamat elemen berikutnya (suksesor), jika kita mengetahui alamat sebuah elemen, yang dapat diakses melalui field next; (3) Setiap elemen mempunyai alamat, yaitu tempat elemen disimpan dapat diacu. Untuk mengacu sebuah elemen, alamat harus terdefinisi. Dengan alamat tersebut informasi yang tersimpan pada elemen list dapat diakses; (4) Elemen terakhirnya.
2. Non-Linier
Binary Tree (Pohon Biner)
Sebuah pohon biner (binary tree) adalah himpunan terbatas yang mungkin kosong atau terdiri dari sebuah simpul yang disebut sebagai akar dan dua buah himpunan lain yang disjoint yang merupakan pohon biner yang disebut sebagai sub pohon kiri (left) dan sub pohon kanan (right) dari pohon biner tersebut. Pohon biner merupakan tipe yang sangat penting dari struktur data dan banyak dijumpai dalam berbagai terapan. Karakteristik yang dimiliki oleh pohon biner adalah bahwa setiap simpul paling banyak hanya memiliki dua buah anak, dan mungkin tidak punya anak. Istilah-istilah yang digunakan sama dengan istilah pada pohon secara umum.
Graph (Graf)
Graph merupakan struktur data yang paling umum. Jika struktur linier memungkinkan pendefinisian keterhubungan sekuensial antara entitas data, struktur data tree memungkinkan pendefinisian keterhubungan hirarkis, maka struktur graph memungkinkan pendefinisian keterhubungan tak terbatas antara entitas data. Banyak entitas-entitas data dalam masalah-masalah nyata secara alamiah memiliki keterhubungan langsung (adjacency) secara tak terbatas demikian. Contoh: informasi topologi dan jarak antar kota-kota di pulau Jawa. Dalam masalah ini kota X bisa berhubungan langsung dengan hanya satu atau lima kota lainnya. Untuk memeriksa keterhubungan dan jarak tidak langsung antara dua kota dapat diperoleh berdasarkan data keterhubungan-keterhubungan langsung dari kota-kota lainnya yang memperantarainya. Representasi data dengan struktur data linier ataupun hirarkis pada masalah ini masih bisa digunakan namun akan membutuhkan pencarian-pencarian yang kurang efisien. Struktur data graph secara eksplisit menyatakan keterhubungan ini sehingga pencariannya langsung (straightforward) dilakukan pada strukturnya sendiri.
Tujuan pembentukkan struktur data
Tujuan pembentukan struktur data adalah information hiding atau encapsulation sebagai berikut :
Tujuan pembentukan struktur data adalah information hiding atau encapsulation sebagai berikut :
- Perubahan implementasi struktur data tidak merubah teks program yang menggunakan struktur data bila interface pada struktur data telah dirancang baik sehingga tidak berubah
- Pemakaian dan pembuatan struktur data dapat dilakukan secara terpisah, yang hany perlu kesepakatan mengenai interface pemakai struktur data tersebut
- Struktur data merupakan sarana pemrograman modular dan menjadi landasan terbentuknya tim pemrograman
Tahapan Pembuatan Struktur Data :
1. Tahap
Spesifikasi
atau pendeskripsian struktur data menyatakan apa yang dapat dilakukan
struktur data, bukan cara penempatannya. Pendeskripsian ini melibatkan
level logic sehingga dapat digunakan konvensi matematika untuk
menyatakan sifat-sifat struktur data yang dikehendaki.
2 . Tahap Kedua
Implementasi
menyatakan cara penerapan struktur data dengan struktur data yang
telah ada. Implementasi struktur dataadalah proses pendefinisian tipe
data abstark sehingga semua operasi dapat dieksekusi computer.
Implementasi berisi dekklarasi struktur penyimpanan item data serta
algoritma untuk implementasi operasi, sehingga menjamin terpenuhinya
karakteristik struktur data, relasi item data tau invariant pada
struktur data tersebut.
3. Tahap Ketiga
Pemrograman
struktur data adalah penterjemahan menjadi pernyataan dalam bahasa
pemrograman tertentu.struktur data dibangun menggunakan fasilitas
pembentukkan atau pembuatan struktur data yang disediakan bahasa
seperti array, record dan lain-lain.
Pengertian Algoritma dan Struktur Data
Pengertian Algoritma dan Struktur Data ..!
Perangkat
lunak dikembangkan sebagai sebuah produk yang memperhatikan efisiensi
dan efektifitas, karena perangkat lunak dibutuhkan sebagai salah satu
bentuk teknologi yang diharapkan dapat mempermudah kegiatan manusia
dengan berbasis otomasi. Algoritma digunakan sebagai sebuah pendekatan
untuk dapat menyusun dan mengelola instruksi secara efisien. Stuktur
data digunakan untuk mengelola data secara efektif. dibawah ini akan
kami jelaskan lebih detail tentang Algoritma dan Struktur data.
1. Pengertian Algoritma
Algoritma
adalah urutan langkah untuk menyelesaikan masalah secara sistematis dan
logis. 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. Penyelesaian masalah (problem solving)
adalah kegiatan utama yang dilakukan dalam menyelesaiakan sesuatu.
Adapun langkah-langkah Problem Solving adalah sebagai berikut :
- Mengidentifikasi masalah
- Desain
- Algoritma
- Pembuatan program
- Pengujian
- Pemeliharaan
Algoritma biasa ditulis dalam bentuk pseudo code. Perhatikan contoh berikut ini:
Carilah luas persegi panjang jika diketahui x sebagai nilai panjang dan y sebagai nilai lebar.
Carilah luas persegi panjang jika diketahui x sebagai nilai panjang dan y sebagai nilai lebar.
- panjang ← masukkan x sebagai nilai panjang
- lebar ← masukkan y sebagai nilai lebar
- luas ← panjang * lebar
- Tulis luas
Tentukan bilangan masukan berikut sebagai bilangan postif, negatif atau nol.
- Bilangan ← bilangan yang akan diuji
- If bilangan > 0 then tulis “Bilangan Positif”
- If bilangan < 0 then tulis “ Bilangan Negatif”
- Tulis “Nol”
Tampilkan tulisan “Selamat Belajar” sebanyak 10 kali
- x ← masukkan nilai perulangan
- i ← 1
- Jika i <= x, tulis “Selamat Belajar”
Flowchart adalah visualisasi urutan langkah secara sistematis dan logis dalam bentuk simbol-simbol yang tertentu.
Contoh flowchart :
2. Struktur Data
Struktur
data adalah suatu pengelolaan data sehingga data dapat dipergunakan
secara lebih efisien dan efektif. Dalam bahasa pemrograman, struktur
data seringkali ditampakkan secaa fisik dalam bentuk tabel (biasanya
pada bahasa pemrograman/pengelolaan database berbasis visual), namun
pada beberapa bahasa pemrograman yang tidak berbasis visual, strutkur
data lebih berupa pengelolaan data dengan aturan-aturan tertentu.
Beberapa konsep pengelolaan data sederhana adalah sebagai berikut :
1. 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.
2. 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].
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.
3. Array Berdimensi Dua
Array
berdimensi satu 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 tabel berikuit
ini :
Jika dibuat programnya adalah sebagai berikut :
int data_mobil [3] [4];
Keterangan :
- baris 1 – baris 3 : menunjukkan merek mobil.
- kolom 1 – kolom 4 : menunjukkan tahun penjualan
- tipe array : integer (bilangan bulat).
- nama array : data_mobil.
- jumlah elemen array : [3,4]
- [2,3] dibaca : penjualan mobil merek Daihatsu pada tahun 1994 adalah 70 unit.
4. Array Sebagai Argumen Fungsi
Array juga dapat berkedudukan sebagi parameter di dalam fungsi. Contoh pendefinisian :
const int MAKS = 5 Int data[MAKS];
5. Fungsi
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
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.
2. Masukan diproses oleh fungsi dan memberikan hasil akhir yang disebut nilai balik (return value).
3. Agar fungsi dapat dipanggil, fungsi harus dideklarasikan.
6. 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 (;).
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 :
- 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.
- Inisialisasi oleh pemrogram akan dilakukan sekali saja selama program dijalankan. Jika tidak ada inisialisasi secara eksplisit, variabel diisi dengan nol.
- Jika variabel eksternal dijadikan sebagai variabel statis, variabel ini dapat diakses oleh semua file yang didefinisikan pada file yang sama dengan variabel eksternal tersebut .