Blog Posts » Pemprograman C » [Pemprograman C] array multidimensional dengan tipe data campuran
[Pemprograman C] array multidimensional dengan tipe data campuran
Didalam Pemprograman C, untuk melakukan sesuatu itu tidak semudah atau sesimpel seperti di PHP. Saya katakan demikian karena saya adalah orang yang belajar PHP dulu sebelum C. Saya baru mulai belajar C dengan cara membaca beberapa hal saja yang saya perlukan untuk langsung mengubah salah satu aplikasi PHP saya ke dalam bahasa C. Kendala yang saya alami pertama kali adalah di seputar pembuatan array, terutama array multidimensional. Berikut contoh array multidimensional dalam PHP:
[Textarea][RAW][Download]
- $a = array('Friday', array(1, 2, 3, 4, 5), 'Jumat');
Nah bagaimana mengubahnya dalam Bahasa C? Apakah seperti ini?:
[Textarea][RAW][Download]
- a[] = {"Friday", {1, 2, 3, 4, 5}, "Jumat"};
Salah! Tidak sesederhana itu! Kalau dengan model seperti itu juga saya bingung bagaimana menambahkan tipe data pada variable nya, mengingat didalamnya terdapat karakter dan juga integer.. untuk masalah ini saya menggunakan Union sebagai solusi tipe data campuran dalam satu variable.
Didalam Pemprograman C, sejauh yang saya tahu, kita tidak bisa memasukkan nilai array berupa string dan array bersamaan. Solusi untuk hal ini adalah dengan memasukkan string ke array baru yang ukurannya sama dengan array terbesar. Sebagai contoh, kita ubah array pada contoh pertama menjadi:
[Textarea][RAW][Download]
- a[3][5] = {{"Friday", NULL, NULL, NULL, NULL},
- {1, 2, 3, 4, 5},
- {"Jumat",, NULL, NULL, NULL, NULL}};
Seperti yang saya katakan sebelumnya, karena array tersebut menggunakan tipe data campuran yaitu char dan int, maka solusi yang saya dapatkan setelah tanya Mbah Google adalah menggunakan "Union tagging" seperti berikut:
[Textarea][RAW][Download]
- union {
- int num;
- char str[10]; // set array str maksimal 10 char
- } a[3][5];
- a[0][0].str = "Friday";
- a[1][0].num = 1;
- a[1][1].num = 2;
- a[1][2].num = 3;
- a[1][3].num = 4;
- a[1][4].num = 5;
- a[2][0].str = "Jumat";
Voila! begitulah kira kira bentuk 'array' nya
Cara menampilkan nilai array nya seperti berikut:
[Textarea][RAW][Download]
- printf("String: %s\n", a[0][0].str);
- printf("Number: %d", a[1][4].num);
Hasilnya:
String: Friday
Number: 5
Terima kasih telah membaca catatan pertama saya ini dalam sesi "Pemprograman C", semoga bisa membantu apabila ada yang mengalami kendala seperti saya dalam Belajar C Programming. Mohon koreksi kalau ada kesalahan, karena saya hanya belajar secara otodidak alias trial and error. Sampai jumpa lagi di artikel berikutnya
- Attachments: pemprograman-c-array-multidimensional-dengan-tipe-data-campuran.zip
- Date created: Thu, 29 Oct 2015 07:23:45 +0700
- Date modified: Thu, 29 Oct 2015 07:41:39 +0700
- Viewed: 122620 times
- Label: Pemprograman C
- Share: Facebook, Twitter
- Comm.: View (0) · Write