Portal CMS dan Free CMS

Posted by belajar

Perangkat lunak CMS
Berikut adalah perangkat CMS yang bias digunakan secara online:
  • Drupal
  • Joomla
  • Wordpress
  • Plone
  • VBulletin
  • Moodle

A.                              Drupal
     Drupal adalah sebuah perangkat lunak sistem manajemen konten yang bebas dan terbuka yang di distribusikan dibawah lisensi GPL, pengembangan dan perawatannya dilakukan oleh ribuan komunitas pengguna dan pengembang di seluruh dunia. Dibuat dengan bahasa pemrograman PHP, Drupal dapat dipasang pada beberapa jenis database seperti MySQL, PostgreSQL, SQLite,MariaDB dan juga MsSQL.
Web server yang mendukung diantaranya Apache, Nginx, IIS yang berjalan pada sistem operasi Microsoft Windows, Mac OS X, Linux dan FreeBSD. Dapat diunduh secara bebas dan dapat digunakan secara bebas juga, sehingga memungkinkan setiap orang baik secara individu maupun komunitas untuk mempublikasi, mengatur dan mengorganisir berbagai jenis dari isi/konten pada website. Kemampuannya tidak sekedar sebagai CMS, namun dengan modul API-nya Drupal juga dapat digunakan sebagai CMF dalam membangun aplikasi berbasis Web.
Drupal dapat digunakan untuk membangun:
a)       Portal Web Komunitas
b)       Forum Diskusi
c)       Website Perusahaan
d)       Aplikasi Internal
e)       Website Personal atau Blog
f)        Aplikasi Komersial E-commerce
g)       Kumpulan Sumber Informasi
h)       Situs Jaringan Sosial
i)         Jaringan intranet
j)        Surat Kabar (Newsletter)
Drupal adalah software yang berlisensi GPL (GNU Public License), dan terus
dipeliharan hingga kini serta dikembangkan oleh komunitas yang terdiri dari ribuan
pengguna dan pengembang. Drupal bebas diunduh dan digunakan.
B.                 Joombla!


Joomla! adalah Sistem manajemen konten (SMK atau CMS) yang bebas dan terbuka (free opensource) ditulis menggunakan PHP dan basisdata MySQL untuk keperluan di internet maupun intranet. Joomla pertamakali dirilis dengan versi 1.0.0. Fitur-fitur Joomla! diantaranya adalah sistem caching untuk peningkatan performansi, RSS, blogs, poling, dll. Joomla! menggunakan lisensi GPL.
Pertamatama
tentunya Anda harus memiliki lingkungan yang paling dasar yang
dibutuhkan oleh Joomla. Joomla sudah diuji cobakan di Linux, FreeBSD, Mac OS X dan
Windows NT/2000/XP. Yang paling direkomendasikan adalah lingkungan Linux atau salah
satu dari keluarga BSD. Tetapi sebenarnya hardware apapun yang dapat menjalankan tiga
buah software berikut bisa menjadi lingkungan Joomla, yaitu :
Apache: (http://www.apache.org)
MySQL: (http://www.mysql.com)
PHP (Version 4.1.2 atau yang lebih baru): http://www.php.net
Beberapa kumpulan distribusi Apache/MySQL/PHP tersedia di http://sourceofge.net
Untuk mendapatkan rilis terakhir dari Joomla, Anda dapat mengunjungi situs
http://joomla.org. Nama File yang akan didapatkan biasanya berbentuk Joomla_x.x.xStableFull_
Package.tar.gz. Dalam dokumen ini digunakan Joomla versi 1.0.12, karena itu
nama File yang diunduh adalah Joomla_1.0.12StableFull_
Package.tar.gz.



C.                Wordpress
WordPress adalah sebuah aplikasi sumber terbuka (open source) yang sangat populer digunakan sebagai mesin blog (blog engine). WordPress dibangun dengan bahasa pemrograman PHP dan basis data (database) MySQL. PHP dan MySQL, keduanya merupakan perangkat lunak sumber terbuka (open source software). Selain sebagai blog, WordPress juga mulai digunakan sebagai sebuah CMS (Content Management System) karena kemampuannya untuk dimodifikasi dan disesuaikan dengan kebutuhan penggunanya. WordPress adalah penerus resmi dari b2/cafelog yang dikembangkan oleh Michel Valdrighi.  Nama WordPress diusulkan oleh Christine Selleck, teman ketua pengembang (developer), Matt Mullenweg.
D.                Plone
Plone merupakan perangkat lunak Content Management System berlisensi GPL dan dikembangkan melalui bahasa Phyton dan berjalan disemua system operasi.


E.                 D.        MOODLE
MOODLE (singkatan dari Modular Object-Oriented Dynamic Learning Environment) adalah paket perangkat lunak yang diproduksi untuk kegiatan belajar berbasis internet dan situs yang menggunakan prinsip social constructionist pedagogy. MOODLE merupakan salah satu aplikasi dari konsep dan mekanisme belajar mengajar yang memanfaatkan teknologi informasi, yang dikenal dengan konsep e-learning. MOODLE dapat digunakan secara bebas sebagai produk sumber terbuka (open source) di bawah lisensi GNU.

F.                 Vbulletin
VBulletin Merupakan perangkat lunak Content Management System berbayar yang digunakan untuk membangun website, portal, forum diskusi yang berskala besar. VBulletin dikembangkan dengan menggunakan bahasa PHP dan menggunakan database MySQL.


G.                G.        XOOPS
XOOPS adalah singkatan dari “eXtensible Object Oriented Portal System”.
Dikembangkan dengan menggunakan PHP, XOOPS bertujuan agar siapapun dapat mengadministrasi website dinamisnya dengan lebih mudah. XOOPS bisa menjadi alat yang ideal bagi situs web komunitas, portal internal perusahaan, portal korporasi, weblogs dan sebagainya.
XOOPS dapat dipasang dan server Internet yang mendukung PHP, web server Apache dan database MySQL.
Baca selengkapnya

Fungsi~getc() pada Pemrograman C

Posted by belajar



Untuk melihat isi file hasil program di atas, bisa juga melalui program dengan memakai fungsi fgetc(), yang digunakan untuk pembacaan per karakter dari isi file. Prototipe dari fungsi ini ada di stdio.h. Bentuk deklarasifgetc():


Program berikut digunakan untuk membaca isi file COBA.TXT dengan langkah-langk sebagai berikut :
1.    Buka file COBA.TXT dengan mode "r"
Jika tidak berhasil dibuka maka
- beri keterangan pada layar bahwa file tak ada
- selesai
2.    Baca sebuah karakter dari file
Jika karakter sama dengan EOF (tanda akhir file) maka ke langkah 4
3.    Tampilkan karakter ke layar dan kembali ke langkah 2
4.    Tutup file
5.    Selesai


Script program C nya:


/* File program: fgetc.c
contoh membaca isi file per karakter */
#include <stdio.h> #include <stdlib.h>
main()
{
FILE *pf;
char kar;
if((pf=fopen("COBA.TXT","r")) == NULL )      /* buka file */
{
printf ("file tak dapat dibuka ! \ r\ n" ) ;
exit (1) ;                                          /* selesai */
}
while((kar=fgetc(pf)) != EOF)      /* baca kar dari file */
putchar(kar);                  /* tampilkan ke layar*/
printf("\n");
fclose(pf);                                 /* tutup file */
}




Contoh eksekusi :
Mencoba menulis ke file COBA.TXT

Baca selengkapnya

File Biner dan File Teks pada Pemrograman C

Posted by belajar



Pada saat file dibuka, file bisa diperlakukan sebagai file biner atau file teks. File biner adalah file yang pola penyimpanan di dalam disk berbentuk biner, yaitu seperti bentuk pada memori RAM (komputer). Misalnya data bertipe int selalu akan menempati ruang 4 byte (pada mesin 32 bit), berapapun harganya.
Sedangkan file teks merupakan file yang pola penyimpanan datanya dalam bentuk karakter. Bilangan bertipe int misalnya, bisa saja menempati ruang 1 byte, 2 byte atau lebih bergantung kepada nilai dari bilangannya. Sebagai contoh, bilangan 54 akan disimpan dalam 2 byte (berupa karakter 5 dan 4), tetapi bilangan 123 akan disimpan dalam 3 byte. File seperti ini bisa dilihat langsung dengan perintah TYPE melalui prompt DOS atau memakai editor teks (seperti Notepad).
File teks biasanya dipakai untuk menyimpan data bertipe karakter atau string. Sedangkan file biner dipakai untuk menyimpan data bilangan atau data kompleks, seperti struktur (struct).
Penambahan yang perlu dilakukan untuk menentukan mode teks atau mode biner berupa :


t untuk mode teks
b untuk mode biner
Contoh :

  •  " rt "    Berarti mode file adalah teks dan file hendak dibaca
  •  " rt+ "    Berarti mode file adalah teks dan file bisa dibaca dan ditulisi Bentuk penulisan yang lain (tetapi maknanya sama) : " r+t "
  •  " rb"    Berarti mode file adalah biner dan file hendak dibaca.


Catatan :
Jika pada mode file tidak terdapat karakter t atau b, mode file akan ditentukan oleh variabel global bernama imode (deklarasinya ada pada file fcntl.h). Jika imode tidak dilibatkan dalam program, maka mode file yang tak mengandung t atau b akan diperlakukan sebagai file teks (secara default).
Variabel _fmode bisa diisi dengan O_BINARY untuk menyatakan file biner, atau O_TEXT untuk menyatakan file teks. Contoh :

_fmode = 0 _BINARY;
pf = fopen("TEST1", "r");

Berarti bahwa "TEST1 " adalah file biner dan hendak dibaca.
O_TEXT ataupun O_BINARY didefinisikan pada file fcntl.h


Baca selengkapnya

Operasi Penyimpanan dan Pembacaan File Per Int pada Pemrograman C

Posted by belajar



Untuk keperluan menyimpan atau membaca membaca file bertipe int, C menyediakan fungsi _putwO dan _getwO. Betuk deklarasinya :
int _putty(int nilai, FILE *ptr_file); int _getty(FILE *ptr_file);
Dengan prototipe ada pada stdio.h. Kegunaan masing-masing adalah :
_getwO untuk membaca sebuah data bertipe int dari file
_putwO untuk menyimpan sebuah data (yang disimpan dalam variabel nilai) yang bertipe int ke file.
Contoh berikut merupakan program untuk menyimpan sejumlah data bertipe int ke dalam file bertipe biner bernama BILANGAN.DAT.Dalam hal ini, file BILANGAN.DAT akan diperlakukan sebagai file biner.


/* File program: _putty.c
contoh menyimpan data bertipe int menggunakan putty() */
#include <stdio.h> #include <stdlib.h>
main( )
{
FILE *pf;                                    /* ptr-ke-FILE */
int nilai, sudah benar;
_
char jatyab;
if((pf=fopen("BILANGAN.DAT", "tyb")) == NULL )
/* ciptakan file*/
{
printf ("file gagal diciptakan ! \ n" ) ;
exit (1) ;
}
printf("MENYIMPAN DATA INTEGER KE FILE\n");

do {
printf("\nBilangan yang akan disimpan: ");
scanf ("%d", &nilai) ;        /* baca nilai dr keyboard */
putw(nilai, pf);             /* baca bilangan ke file */
printf("memasukkan data lagi (Y/T)?      ");
do
{
jawab = getchar () ; /* baca jawaban dr keyboard */ sudah benar = ( (jawab == 'Y') II (jawab == 'y')
II (jawab == 'T') II (jawab == 't')); / while(! sudah benar);
2
/
while (jawab == 'y' I I jawab == 'Y' ) ;
printf("\nOke. Data sudah disimpan dalam file.\n");
fclose(pf);                                 /* menutup file */
/


Contoh eksekusi :
Program untuk menyimpan data integer ke file
Bilangan yang akan disimpan: 60 Memasukkan data lagi (Y/T)? y
Bilangan yang akan disimpan: 998 Memasukkan data lagi (Y/T)? y
Bilangan yang akan disimpan: -75 Memasukkan data lagi (Y/T)? t
Oke. Data sudah disimpan dalam file.
Program yang digunakan untuk menampilkan isi file BILANGAN.DAT pada dasarnya sama dengan program fgetc.c yang menampilkan isi file teks COBA.TXT di atas. Hanya saja, untuk mendeteksi akhir dari file, diperlukan makro bernamafeof(), yang memiliki bentuk deklarasi
int feof(FILE *ptrfile);
dengan prototipe dan definisinya ada pada filestdio.h
Keluaran feof() berupa nilai nol (NULL) jika operasi pembacaan yang terakhir membaca tanda akhir file. Sebagai contohnya, perhatikan implementasi pada program di bawah ini.
Contoh membaca isi file biner menggunakan getw() */
#include <stdio.h> #include <stdlib.h>
main()
{
FILE *pf;                              /* ptr ke file */
int nilai, nomor = 0;
/* Buka file biner untuk dibaca */ if((pf=fopen("BILANGAN.DAT","rb")) == NULL)
{
printf ("File gagal dibuka . \ n" ) ;
exit (1) ;
}
printf("Isi file BILANGAN.DAT : \n");
while(1)                                /* file berhasil dibuka */
{
nilai = _getw(pf);             /* Baca sebuah int dr file */
if (feof (pf) != 0) /*Jika akhir file, keluar loop*/
break;
/* Tampilkan ke layar */
printf("%2d. %d \n", ++nomor, nilai);
}
fclose (pf) ;                          /* Tutup file */
}


Contoh eksekusi :
Isi file BILANGAN.DAT :
1.    60
2.    998
3.    -75


Baca selengkapnya

Operasi Penyimpanan dan Pembacaan File Per Karakter Pemrograman C

Posted by belajar




Contoh script program C untuk menciptakan file dan digunakan untuk menyimpan sejumlah karakter :


/* File program: fputc.c
Menciptakan & mengisi file dgn data karakter dr keyboard */
#include <stdio . h> #include <stdlib . h>
main()
{
FILE *pf;                                    /* Pointer-ke-FILE */
char kar;
/* Ciptakan file * /
if ( (pf = fopen ("COBA. TXT", "w" ) ) == NULL) {
printf ("file tak dapat diciptakan ! \ r\ n" ) ; exit (1) ;      /* selesai * /
}
printf("Ketikkan apa saja, akhiri dengan ENTER.\n"); printf("Program akan membaca perkarakter\n"); printf("dan menyimpannya dalam file COBA.TXT\n\n");
while ( (kar=getchar ( ) ) != ' \ n ' ) /*baca kar dr keyboard* / fputc (kar, pf ) ;                           /* tulis ke file per karakter* /
fclose (pf) ;                                 /* tutup file * /

Contoh eksekusi :
Ketikkan apa saja, akhiri dengan ENTER. Program akan membaca perkarakter
dan menyimpannya dalam file COBA.TXT
Mencoba menulis ke file COBA.TXT
Program mula-mula menciptakan dan membuka file melalui pemanggilan fungsi fopen(), dengan mode file "w" . Kalau keluaran fungsi bernilai NULL, program dihentikan melalui exit(). Kalau file COBA.TXT berhasil dibuka, maka pernyataan
while((kar=getchar()) != '\n') fputc(kar, pf);
akan dijalankan, yang memungkinkan untuk memasukkan sejumlah karakter, sampai tombol ENTER ditekan (ENTER tidak ikut disimpan dalam file). Jika tombol ENTER ditekan, file akan ditutup dan eksekusi program selesai. Sedangkan file COBA.TXT yang dihasilkan oleh program di atas merupakan file teks, sehingga isinya bisa dilihat dengan menggunakan bantuan sebuah teks editor misalnya Notepad.
Baca selengkapnya

Operasi File

Posted by belajar

Struktur File
Kebanyakan program melibatkan media disk sebagai tempat untuk membaca atau merekam data. Data sendiri disimpan dalam disk dalam bentuk suatu kesatuan yang disebut file. Suatu file merupakan organisasi dari sejumlah record. Masing-masing record dapat terdiri atas satu atau beberapa field dan setiap field terdiri atas satu atau beberapa byte. Adapun byte merupakan susunan dari 8 bit.

Tahapan Operasi File
Operasi pada file pada dasarnya meliputi tiga tahapan, yaitu :
1.    Membukaimengaktifkan file
2.    Melaksanakan proses file
3.    Menutup file

Membuka / Mengaktifkan File
Sebelum file dapat diakses (dibaca atau ditulisi), mula-mula file haruslah diaktifkan terlebih dahulu. Untuk keperluan ini fungsi yang digunakan yaitu fopen0. Bentuk deklarasinya adalah sebagai berikut :

FILE *fopen (char *namafile, char *mode);



dengan :
namafile berupa nama dari file yang akan diaktifkan
mode berupa jenis operasi yang akan dilakukan terhadap file
prototipe ada pada file stdio.h
Jenis operasi file dapat berupa salah satu di antara mode berikut :
  • r menyatakan file hanya akan dibaca. Dalam hal ini, file yang akan diproses haruslah sudah ada dalam disk pada current directory.
  • w menyatakan bahwa file baru diciptakan. Selanjutnya operasi yang akan dilakukan terhadap file adalah operasi perekaman data. Seandainya file tersebut sudah ada dalam disk, isinya yang lama akan terhapus.
  • a untuk membuka file yang sudah ada dalam disk, dan operasi yang akan dilakukan adalah penambahan data pada file. Data baru akan ditempatkan di bagian belakang dari file. Seandainya file belum ada, secara otomatis file akan diciptakan terlebih dahulu.
  • r+ untuk membuka file yang sudah ada, dan operasi yang akan dilakukan berupa pembacaan serta penulisan.
  • w+ untuk membuka file dengan tujuan untuk pembacaan atau penulisan. Jika file sudah ada, isinya akan dihapus.
  • a+ untuk membuka file, dengan operasi yang dapat dilakukan berupa perekaman maupun pembacaan. Jika file sudah ada, isinya tak akan dihapus.
Keluaran fungsi fopen() berupa pointer yang menunjuk ke tipe FILE (pointer to FILE), yaitu tipe struktur yang definisinya ada pada stdio.h (oleh karena itu program yang menggunakanfopen() harus melibatkan file stdio.h).
Berhasil tidaknya operasi pengaktifan file dapat dilihat pada keluaran fungsi fopen(). Jika keluaran fungsi berupa NULL (suatu makro yang didefinisikan pada file stdio.h), berarti operasi pengaktifan file gagal. Kejadian seperti ini bisa terjadi misalnya saat membuka file dengan mode "r" ternyata file yang dibuka tidak ada dalam disk.
Contoh pemakaian fungsifopen() :

pf = fopen ("COBA. TXT", "w") ;

dengan variabel pf dideklarasikan sebagai berikut :
FILE *pf;
Maksud dari pernyataan pf = fopen ("CO BA. TXT", "w") ; adalah

menciptakan dan mengaktifkan file bernama "COBA.TXT"
dengan mode yaitu "w" (mode penulisan ke file)
dan menempatkan pointer-ke-FILE ke variabel pointer pf
Dengan instruksi di atas, seandainya file "COBA.TXT" sudah ada dalam disk, maka isi file tersebut akan menjadi hilang (data lama akan terhapus).

Bentuk yang biasa dipakai untuk mengaktifkan file beserta pemeriksaan keberhasilannya adalah semacam berikut :

if (pf = fopen ("COBA. TXT", "w") == NULL)
{
printf ("File tidak dapat diciptakan ! \ n") ;
exit (1) ;    /* keluar dari program */
}
Mula-mula pf diisi dengan keluaran dari fungsi fopenO. Seandainya nilainya adal NULL (berarti operasi pengaktifan gagal), maka

  • pada layar ditampilkan tulisan : File tidak dapat diciptakan !
  • program dihentikan (selesai).


Menutup File
Apabila suatu file sudah tidak diproses lagi, maka file tersebut perlu ditutup. Hal seperti ini sangat penting terutama jika melakukan pemrosesan file yang jumlahnya lebih dari satu. Alasannya di antaranya adalah karena adanya keterbatasan jumlah file yang dapat dibuka secara serentak. Untuk menutup file, fungsi yang digunakan adalah fcloseO, dengan bentuk deklarasi sebagai berikut :
int fclose (FILE *pf) ;
dengan prototipe ada pada stdio.h.
Pada waktu pemanggilan fungsi ini, pf haruslah berupa variabel pointer bertipe FILE yang digunakan dalam pengaktifan file. Fungsi fclose0 menghasilkan keluaran berupa nol jika operasi penutupan berhasil dilakukan.
Di samping fcloseO, terdapat pula fungsi bernama fcloseall0 yang digunakan untuk menutup semua file yang sedang terbuka. Bentuk deklarasinya :
int fcloseall (void) ;
Fungsi ini menghasilkan nilai EOF (EOF didefinisikan pada stdio.h, yaitu bernilai —1) jika terjadi kegagalan. Sedangkan bila berhasil, keluaran fungsi berupa jumlah file yang ditutup.



Arrays

Array adalah menyimpan informasi dimensi. Variabel berisi sepotong informasi, sedangkan array berisi lebih dari satu sepotong informasi tipe yang sama. Jenis (angka, huruf, dan tipe user-defined) tidak dapat dicampur dalam array.

Namun, jenis kompleks ditetapkan pengguna dapat ditampung dalam array, yang memungkinkan Anda untuk menyimpan beberapa objek dengan berbagai data, berdampingan. Array dapat menjadi salah satudimensi atau multidimensi. Sebuah array satu dimensi agak seperti baris kotak di memori, di mana Anda dapat menempatkan nilai-nilai.

Anda dapat mendefinisikan sebuah array satu dimensi demikian:

int nIntegerArray[10];

Contoh ini menyatakan sebuah variabel tipe integer yang dapat berisi 10 individu angka, satu setelah other.You dapat mendefinisikan sebuah array satu dimensi demikian:
Suatu array dua dimensi, di sisi lain, seperti kotak kotak, seperti postal sorting pigeonholes. Sekali lagi, masing-masing slot di array dapat berisi nilai tunggal, tetapi Anda dapat menyimpan nilai-nilai di atas dan ke bawah, bukan hanya di sepanjang atau ke atas. Jika membantu, memikirkan itu seperti papan catur di mana masing-masing persegi dapat berisi sepotong set.

Jadi anda bisa mendefinisikan sebagai berikut:
int nChessBoard[8][8];
Bahkan, tidak ada batasan yang nyata di luar kapasitas komputer ke dimensi array. Anda bisa, misalnya, memiliki tiga dimensi array mewakili sebuah kubus nilai sebagai:

int nCube[8][8][8];
Meskipun Anda telah menyatakan array ini memiliki dimensi yang sama pada masing-masing pihak, ini tidak diperlukan. Anda bisa mendefinisikan array dengan nomor yang berbeda slot dalam satu dimensi ke yang lain. Sebuah kotak segi empat lokasi memori dapat dinyatakan sebagai berikut:
int nRectangle[8][4];
Jika Anda perlu untuk referensi lokasi, maka dapat diobati seolah-olah itu adalah variabel tunggal
slot dengan menunjukkan indeks ke dalam array menggunakan integer dalam kurung siku
setelah nama variabel. Jadi jika Anda ingin menempatkan nilai 3 di lokasi direferensikan oleh [baris, kolom] referensi [4,1], gunakan kode seperti:
nRectangle[4][1] = 3;
Catatan dari ini bahwa Anda akan memperlakukan lokasi array [4] [1] seolah-olah itu adalah satu
variabel integer. Ini indeks ke array berbasis-nol dengan kata lain,
elemen pada akhir array diindeks sebagai dimensi dari array minus satu. Lokasi pertama adalah direferensikan dengan indeks nol.
Seperti contoh pemrograman kebanyakan, ini paling baik dipahami dalam beberapa sederhana
baris kode yang digunakan sebagai ilustrasi:

int nArray[10]; // 10 elements
nArray[0] = 1; // The first element
nArray[9] = 10; // The last element
Perhatikan bahwa Anda tidak benar-benar tahu bagaimana komputer memilih untuk mengakses atau
mengatur array di memori. Ini hanyalah sepotong memori di mana Anda dapat
menyimpan informasi-Anda dapat mendeklarasikan dan akses tanpa mengetahui bagaimana array yang mendasari sedang dimanipulasi.
Ada juga beberapa properti khusus yang Anda dapat memanfaatkan saat menggunakan
array dalam aplikasi Anda. Biasanya array akan menjadi salah satu atau dua dimensi. A
array satu dimensi karakter, misalnya, atau dikenal sebagai string. Array dua dimensi yang sering digunakan untuk menyimpan representasi grafis layar.

Kelemahan satu dengan array adalah bahwa mereka statis. Artinya, Anda tidak dapat mengubah ukuran
sekali program yang telah ditulis. Array dapat menjadi ukuran pada waktu kompilasi,
mungkin bersyarat, tapi begitu program ini dibangun, array adalah tetap.

Hal ini karena ruang yang dibutuhkan adalah dalam program stack, atau lokal memori. Beberapa compiler akan menempatkan batas buatan 64KB di stack, yang adalah batas hanya nyata pada ukuran array yang dapat diumumkan.

Mekanisme untuk berkeliling ini disebut sebagai dinamic array, yang dapat diubah ukurannya
selama pelaksanaan program. Ini bukan bagian dari bahasa C dan akan
perlu dilaksanakan oleh programmer, tetapi itu adalah data yang cukup sederhana struktur untuk melaksanakan dan memanipulasi.

Anda akan belajar tentang beberapa jenis array dinamis dan mekanisme lain di kemudian hari,
tetapi penting untuk diingat bahwa array dinyatakan sebagai bagian dari program ini adalah
kerja statis, dan beberapa tambahan diperlukan untuk memanipulasi memori untuk memberikan
dinamis penyimpanan.

Enumerated Types
Jenis lain jenis, yang dikenal sebagai tipe enumerasi, memungkinkan Anda untuk membuat set nilai-nilai yang dirujuk oleh nama, tapi menghitung ke posisi indeks dalam kumpulan itu. Sebagai contoh, Anda mungkin ingin membuat tipe yang ditetapkan pengguna untuk menyimpan hari minggu ini:
enum week_days {
Mon = 0, Tue, Wed, Thu, Fri, Sat, Sun
};
Dalam contoh ini, compiler akan memberikan nilai 6 integer 0 sampai dengan hari-hari minggu ini, dalam urutan yang mereka terdaftar. Kemudahan dalam pemrograman istilah adalah bahwa kata Mon user-friendly dapat digunakan dalam program, daripada nilai 0.
Jadi, Anda mungkin menulis kode seperti:

week_days DayOfWeek;
Hal ini mendeklarasikan DayOfWeek variabel sebagai tipe yang sesuai. Anda dapat
memberikan nilai pada variabel sebagai berikut:

DayOfWeek = Wed;
Karena Anda telah dihitung hari ini untuk bilangan bulat, Anda juga dapat menggunakan operator standar untuk memanipulasi mereka. Ini adalah operator yang sama seperti Anda telah melihat dalam bab sebelumnya pada struktur bahasa C. Jika Anda menambahkan 1 sampai Wed, Anda tiba di nilai Thu, atau Kamis.

Jika Anda ingin menguji nilai antara Mon dan Jumat (hari kerja, untuk misalnya), istilah mungkin berisi:


((DayOfWeek >= Mon) && (DayOfWeek <= Fri)

Pembaca penuh perhatian akan mencatat beberapa hal. Yang pertama adalah bahwa contoh ini menggunakan standar built-in operator tipe, yang dimungkinkan oleh kenyataan bahwa yang disebutkan tipe sama dengan bilangan bulat. Hal kedua yang perlu diperhatikan adalah bahwa contoh berisi kondisi individu dalam tanda kurung.

Hal terakhir yang harus Anda perhatikan adalah penasaran & & simbol, yang Anda tidak belum datang di dalam eksplorasi Anda pemrograman dalam buku ini. Aku akan menangani logika laporan di kemudian hari, tetapi untuk sekarang Anda harus puas dengan mengetahui bahwa itu sarana and.

Contoh berbunyi sebagai berikut:''hari seminggu lebih besar dari atau sama dengan Senin'' dan'' kurang dari atau sama dengan Jumat'' . Dalam bahasa Inggris., Ini adalah  setara Senin sampai Jumat, inklusif.

Jika pernah perubahan nilai-nilai, semua yang perlu Anda lakukan adalah mengatur tipe enumerasi-the sisa kode akan tetap bekerja. Anda juga tidak perlu ingat bahwa Jumat telah ditetapkan angka minggu hari 4. Selain itu, Anda dapat menulis kode yang membandingkan dua nilai dari jenis yang sama tanpa khawatir tentang yang mendasari representasi.


Data Types and Variables
menutupi konsep dasar variabel dalam bab sebelumnya saat Anda melihat bagaimana mereka dapat diberi nama dan dinyatakan. Ingatlah bahwa kita bayangkan mereka sebagai nama slot (bayangkan pigeonholes) dalam memori, dengan tempat yang disediakan bagi setiap bagian data yang Anda ingin untuk menyimpan.

Selain itu, bab yang melihat bagaimana sebuah variabel didefinisikan dengan menetapkan nama
dan ketik:

int nMyNumber; // A simple variable
char szMyString[255]; // A 255 slot array
char * szString; // Pointer to char’s
Ini disebut deklarasi variabel. Setelah variabel telah dinyatakan, dapat hanya berisi data dari jenis yang tercantum dalam deklarasi. Operasi atas data pada variabel yang akan terbatas pada mereka yang didukung oleh tipe data.
Ingat juga bahwa, untuk memberikan nilai pada variabel, Anda menggunakan operator penugasan =. Jadi untuk menetapkan nilai numerik dengan nilai nMyNumber dinyatakan sebelumnya, Anda akan menggunakan kode seperti:

nMyNumber = 3;

Pengecualian untuk menggunakan operator penugasan adalah bahwa hal itu tidak bekerja dengan
array. Berikut ini, misalnya, bahkan tidak akan mengkompilasi:

szMyString = "Hello"; // Error
szString = "Hello"; // Error

You can, of course, assign values to individual elements to achieve this result:

szMyString[0] = ’H’;
szMyString[1] = ’e’;
szMyString[2] = ’l’;
szMyString[3] = ’l’;
szMyString[4] = ’o’;
Perhatikan bahwa contoh-contoh penggunaan tanda kutip tunggal sekitar nilai karakter dalam rangka untuk membedakannya dari sebuah string konstan. Untungnya, seperti yang akan Anda lihat nanti, C perpustakaan memberikan manipulasi string lebih baik daripada yang bisa Anda raih dalam satu Laporan beroperasi pada array.

Namun, ketika mereka diimplementasikan, ada kemungkinan bahwa, pada intinya, mereka beroperasi
pada array karakter dalam memori. Ini adalah contoh lain dari kompleks
jenis-satu yang Anda lihat untuk menggunakan slot bernama tunggal, tetapi yang mengandung lebih dari satu bagian dari data. Bahasa lain, bagaimanapun, menyediakan built-in tipe string, tapi di C itu adalah jenis yang ditetapkan pengguna, untungnya didasarkan sekitar spesifikasi ANSI untuk pengolahan itu.


Baca selengkapnya