{"id":1868,"date":"2024-03-01T06:40:53","date_gmt":"2024-03-01T06:40:53","guid":{"rendered":"https:\/\/blog.uts.ac.id\/jul\/?p=1868"},"modified":"2024-03-01T06:40:53","modified_gmt":"2024-03-01T06:40:53","slug":"menggunakan-array-untuk-menyimpan-banyak-data","status":"publish","type":"post","link":"https:\/\/blog.uts.ac.id\/jul\/2024\/03\/01\/menggunakan-array-untuk-menyimpan-banyak-data\/","title":{"rendered":"Menggunakan Array untuk Menyimpan Banyak Data"},"content":{"rendered":"\n<h2 id=\"apa-itu-array\">Apa itu Array?<\/h2>\n\n\n\n<p>Array merupakan struktur data yang digunakan untuk&nbsp;<strong>menyimpan sekumpulan data<\/strong>&nbsp;dalam satu tempat.<\/p>\n\n\n\n<p>Setiap data dalam Array memiliki indeks, sehingga kita akan mudah memprosesnya.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.petanikode.com\/img\/php\/array\/array.png\" alt=\"Array\" title=\"\" \/><\/figure>\n\n\n\n<p>Indeks array selalu dimulai dari angka nol (<code>0<\/code>).<\/p>\n\n\n\n<p>Pada teori struktur data\u2026<\/p>\n\n\n\n<p>\u2026ukuran array akan bergantung dari banyaknya data yang disimpan di dalamnya.<\/p>\n\n\n\n<h2 id=\"cara-membuat-array-pada-c\">Cara Membuat Array pada C++<\/h2>\n\n\n\n<p>Pada C++, array dapat kita buat dengan cara seperti ini.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ membuat array kosong dengan tipe data integer dan panjang 10\nint nama_array&#091;10];\n\n\/\/ membuat array dengan langsung diisi\nint nama_arr&#091;3] = {0, 3, 2}<\/code><\/pre>\n\n\n\n<p>Cara membuat array hampir sama seperti cara membuat variabel biasa.<\/p>\n\n\n\n<p>Bedanya\u2026 pada array kita harus menentukan panjangnya.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.petanikode.com\/img\/c\/array\/array-pada-c.png\" alt=\"Cara Membuat Array pada C\" title=\"\" \/><\/figure>\n\n\n\n<h2 id=\"cara-mengambil-data-dari-array\">Cara Mengambil Data dari Array<\/h2>\n\n\n\n<p>Seperti yang sudah kita kethaui\u2026<\/p>\n\n\n\n<p>Array akan menyimpan sekumpulan data dan memberinya nomer indeks agar mudah diakses.<\/p>\n\n\n\n<p>Indeks array selalu dimauli dari nol&nbsp;<code>0<\/code>.<\/p>\n\n\n\n<p>Misalkan kita punya array seperti ini:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>char huruf&#091;5] = {'a', 'b', 'c', 'd', 'e'};<\/code><\/pre>\n\n\n\n<p>Bagaimana cara mengambil huruf&nbsp;<code>c<\/code>?<\/p>\n\n\n\n<p>Jawabannya:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>huruf&#091;2];<\/code><\/pre>\n\n\n\n<p>Mengapa bukan&nbsp;<code>huruf[3]<\/code>?<\/p>\n\n\n\n<p><strong>Ingat: indeks array selalu dimulai dari nol.<\/strong><\/p>\n\n\n\n<p>Biar lebih jelas, mari kita coba dalam program. Silahkan buat file baru dengan nama&nbsp;<code>contoh_array.cpp<\/code>, kemudian isi dengan kode berikut:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;iostream&gt;\nusing namespace std;\n\nint main(){\n    char huruf&#091;5] = {'a', 'b', 'c', 'd', 'e'};\n\n    \/\/ mengambil data pada array\n    cout &lt;&lt; \"Huruf: \" &lt;&lt; huruf&#091;2] &lt;&lt; endl;\n\n    return 0;\n}<\/code><\/pre>\n\n\n\n<p>Setelah itu, coba compile dan jalankan.<\/p>\n\n\n\n<p>Maka hasilnya:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.petanikode.com\/img\/c\/array\/get-data.webp\" alt=\"Mengambil data dari array\" title=\"\" \/><\/figure>\n\n\n\n<h2 id=\"mengisi-ulang-data-pada-array\">Mengisi Ulang Data pada Array<\/h2>\n\n\n\n<p>Data pada array dapat kita isi ulang dengan cara seperti ini:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>huruf&#091;2] = 'z';<\/code><\/pre>\n\n\n\n<p>Maka isi array&nbsp;<code>huruf<\/code>&nbsp;pada indeks ke-2 akan bernilai&nbsp;<code>'z'<\/code>.<\/p>\n\n\n\n<p>Kalau tidak percaya\u2026<\/p>\n\n\n\n<p>Kamu bisa coba buktikan sendiri.<\/p>\n\n\n\n<p>Silahkan ubah kode pada&nbsp;<code>contoh_array.cpp<\/code>&nbsp;menjadi seperti ini:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;iostream&gt;\nusing namespace std;\n\nint main(){\n    \/\/ isi awal array\n    char huruf&#091;5] = {'a', 'b', 'c', 'd', 'e'};\n\n    \/\/ mengubah isi data array\n    huruf&#091;2] = 'z';\n\n    \/\/ mencetak isi array\n    cout &lt;&lt; \"Huruf: \" &lt;&lt; huruf&#091;2] &lt;&lt; endl;\n\n    return 0;\n}<\/code><\/pre>\n\n\n\n<p>Hasil outputnya:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Huruf: z<\/code><\/pre>\n\n\n\n<p>Contoh lain:&nbsp;<code>array_data.cpp<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;iostream&gt;\nusing namespace std;\n\nint main(){\n    \/\/ membuat array kosong\n    int nilai&#091;5];\n\n    \/\/ mengisi array\n    nilai&#091;0] = 32;\n    nilai&#091;1] = 42;\n    nilai&#091;2] = 76;\n    nilai&#091;3] = 31;\n    nilai&#091;4] = 57;\n\n    \/\/ mencetak isi array\n    cout &lt;&lt; \"Nilai ke-1: \" &lt;&lt; nilai&#091;0] &lt;&lt; endl;\n    cout &lt;&lt; \"Nilai ke-2: \" &lt;&lt; nilai&#091;1] &lt;&lt; endl;\n    cout &lt;&lt; \"Nilai ke-3: \" &lt;&lt; nilai&#091;2] &lt;&lt; endl;\n    cout &lt;&lt; \"Nilai ke-4: \" &lt;&lt; nilai&#091;3] &lt;&lt; endl;\n    cout &lt;&lt; \"Nilai ke-5: \" &lt;&lt; nilai&#091;4] &lt;&lt; endl;\n\n    return 0;\n}<\/code><\/pre>\n\n\n\n<p>Hasilnya:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.petanikode.com\/img\/c\/array\/isi-array.webp\" alt=\"Mengisi data ke array\" title=\"\" \/><\/figure>\n\n\n\n<h2 id=\"menggunakan-perulangan-dan-array\">Menggunakan Perulangan dan Array<\/h2>\n\n\n\n<p>Pada contoh di atas, kita menggunakan perintah&nbsp;<code>cout<\/code>&nbsp;secara berulang untuk mencetak semua isi array.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cout &lt;&lt; \"Nilai ke-1: \" &lt;&lt; nilai&#091;0] &lt;&lt; endl;\ncout &lt;&lt; \"Nilai ke-2: \" &lt;&lt; nilai&#091;1] &lt;&lt; endl;\ncout &lt;&lt; \"Nilai ke-3: \" &lt;&lt; nilai&#091;2] &lt;&lt; endl;\ncout &lt;&lt; \"Nilai ke-4: \" &lt;&lt; nilai&#091;3] &lt;&lt; endl;\ncout &lt;&lt; \"Nilai ke-5: \" &lt;&lt; nilai&#091;4] &lt;&lt; endl;<\/code><\/pre>\n\n\n\n<p>Kalau isi array-nya ada ribuan, apa kamu akan sanggup menulis ini berulang-ulang?<\/p>\n\n\n\n<p>Tentu saja tidak!<\/p>\n\n\n\n<p>Karena itu, kita bisa memanfaatkan perulangan untuk mencetaknya.<\/p>\n\n\n\n<p>Contoh:&nbsp;<code>array_loop.cpp<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;iostream&gt;\nusing namespace std;\n\nint main(){\n    \/\/ membuat array kosong\n    int nilai&#091;5];\n\n    \/\/ mengisi array\n    nilai&#091;0] = 32;\n    nilai&#091;1] = 42;\n    nilai&#091;2] = 76;\n    nilai&#091;3] = 31;\n    nilai&#091;4] = 57;\n\n    \/\/ mencetak isi array dengan perulangan\n    for(int i; i &lt; 5; i++){\n        printf(\"Nilai ke-%d: %d\\n\", i, nilai&#091;i]);\n    }\n\n    return 0;\n}<\/code><\/pre>\n\n\n\n<p>Hasilnya:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.petanikode.com\/img\/c\/array\/isi-array.webp\" alt=\"Mengisi data ke array\" title=\"\" \/><\/figure>\n\n\n\n<p>Jauh lebih sederhana \u2018kan\u2026<\/p>\n\n\n\n<p>Tapi ada yang masih kurang.<\/p>\n\n\n\n<p>Pada perulangan di atas kita memberikan batas maksimal secara manual, yaitu:&nbsp;<code>i &lt; 5<\/code>.<\/p>\n\n\n\n<p>Nilai&nbsp;<code>5<\/code>&nbsp;seharusnya diganti dengan ukuran atau jumlah isi array.<\/p>\n\n\n\n<p>Sehingga akan menjadi seperti ini:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>int length = sizeof(nilai) \/ sizeof(*nilai);\nfor (int i = 0; i &lt; length; i++){\n    printf(\"Nilai ke-1: %d\\n\", nilai&#091;i]);\n}<\/code><\/pre>\n\n\n\n<h2 id=\"mengambil-panjang-array\">Mengambil Panjang Array<\/h2>\n\n\n\n<p>Ada dua cara untuk mendapatkan panjang array:<\/p>\n\n\n\n<ol>\n<li>Partama cara seperti di atas (seperti bahasa C);<\/li>\n\n\n\n<li>Menggunakan Class array dari C++.<\/li>\n<\/ol>\n\n\n\n<p>Kita bahas dulu cara yang pertama..<\/p>\n\n\n\n<p>Pada contoh di atas, kita menggunakan fungsi&nbsp;<code>sizeof()<\/code>&nbsp;untuk mengambil panajang atau ukuran array.<\/p>\n\n\n\n<p>Fungsi&nbsp;<code>sizeof()<\/code>&nbsp;sebenarnya akan mengambil ukuran memori dari array.<\/p>\n\n\n\n<p>Misalkan saya punya array seperti ini:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>int nilai&#091;2] = {1, 2};<\/code><\/pre>\n\n\n\n<p>Isi array-nya berupa integer, tipe data integer memiliki ukuran&nbsp;<code>4<\/code>&nbsp;byte dalam memori. Maka ukuran array tersebut adalah&nbsp;<code>8<\/code>&nbsp;byte.<\/p>\n\n\n\n<p>Lalu bagaimana cara mendapatkan banyaknya isi array?<\/p>\n\n\n\n<p>Karena di bahasa C belum memiliki fungsi khusus untuk mengambil banyaknya isi array.<\/p>\n\n\n\n<p>Kita harus membaginya dengan panjang pointernya.<\/p>\n\n\n\n<p>Contoh:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>int array&#091;] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };\n\n\/* ukuran array dalam byte *\/\nint size = sizeof(array);\n\n\/* banyaknya isi array `array` *\/\nint length = sizeof(array) \/ sizeof(*array);<\/code><\/pre>\n\n\n\n<p>Mari kita coba\u2026<\/p>\n\n\n\n<p>Buatlah program dengan nama&nbsp;<code>panjang_array.cpp<\/code>, kemudian isi dengan kode berikut:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;stdio.h&gt;\n\nvoid main(){\n    \/\/ membuat array\n    string contact&#091;] = {\"Ami\", \"Ayu\", \"Budi\", \"Agus\", \"Mila\"};\n\n    \/\/  mengambil banyaknya isi array\n    int length = sizeof(contact) \/ sizeof(*contact);\n\n    printf(\"Banyaknya isi array nilai: %d\\n\", length);\n}<\/code><\/pre>\n\n\n\n<p>Hasilnya:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.petanikode.com\/img\/c\/array\/array-len.webp\" alt=\"Banyaknya isi data pada array\" title=\"\" \/><\/figure>\n\n\n\n<p>Cara kedua, kita bisa gunakan&nbsp;<em>Class Template<\/em>&nbsp;dari C++.&nbsp;<em>Class Template<\/em>&nbsp;ini mulai ditambahkan pada C++11.<\/p>\n\n\n\n<p>Contoh:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ membuat array dengan class\narray&lt;string, 5&gt; names = {\"Ali\", \"Abi\", \"Ami\", \"Mia\", \"Nia\"};\n\/\/ mengambil ukuran array\ncout &lt;&lt; names.size();<\/code><\/pre>\n\n\n\n<p>Tapi sebelum kita dapat menggunakan&nbsp;<em>Class Template<\/em>&nbsp;<code>array&lt;&gt;<\/code>, kita harus mengimpornya dengan&nbsp;<code>#include<\/code>.<\/p>\n\n\n\n<p>Contoh lengkap:&nbsp;<code>array_class.cpp<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;iostream&gt;\n#include &lt;array&gt;\nusing namespace std;\n\nint main(){\n    array&lt;string, 5&gt; names = {\"Ali\", \"Abi\", \"Ami\", \"Mia\", \"Nia\"};\n\n    printf(\"Ada %d data di dalam array: \\n\", names.size());\n\n    for(int i = 0; i &lt; names.size(); i++){\n        cout &lt;&lt; i &lt;&lt; \". \" &lt;&lt; names&#091;i] &lt;&lt; endl;\n    }\n\n    return 0;\n}<\/code><\/pre>\n\n\n\n<p>Hasilnya:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.petanikode.com\/img\/cpp\/array\/array-class.png\" alt=\"Membuat Array dengan Array Class Template\" title=\"\" \/><\/figure>\n\n\n\n<p>Bisa dibilang,&nbsp;<em>Class Template<\/em>&nbsp;array ini adalah pengembangan dari cara yang sebelumnya.<\/p>\n\n\n\n<p>Array dianggap sebagai sebuah objek..<\/p>\n\n\n\n<p>Objek itu apa?<\/p>\n\n\n\n<p>Buat kamu yang belum paham OOP, pasti akan menyanyakan hal ini.<\/p>\n\n\n\n<p>Karena itu, saran saya pahami saja dulu cara yang pertama.<\/p>\n\n\n\n<p>Nanti kita akan bahas OOP di tutorial yang berbeda.<\/p>\n\n\n\n<h2 id=\"latihan-program-hitung-rata-rata\">Latihan: Program Hitung Rata-Rata<\/h2>\n\n\n\n<p>Anggap saja kita diminta untuk membuat program untuk menghitung tinggi rata-rata dari sepuluh orang.<\/p>\n\n\n\n<p>Pertama kita pasti akan membutuhkan sebuah array dengan panjang&nbsp;<code>10<\/code>&nbsp;yang berisi kumpulan tinggi badan.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>int tinggi_badan&#091;10] = {175, 165, 166, 157, 184, 156, 163, 176, 171, 169};<\/code><\/pre>\n\n\n\n<p>Berikutnya kita harus menghitung nilai rata-rata dari sekumpulan nilai tersebut.<\/p>\n\n\n\n<p>Rumus nilai rata-rata:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.petanikode.com\/img\/c\/array\/rumus-rata.webp\" alt=\"Rumus nilai rata-rata dalam matematika\" title=\"\" \/><\/figure>\n\n\n\n<p>Mari kita buat programnya\u2026<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;iostream&gt;\nusing namespace std;\n\nint main(){\n    \/\/ membuat array dari tinggi badan\n    int tinggi_badan&#091;10] = {175, 165, 166, 157, 184, 156, 163, 176, 171, 169};\n\n    \/\/  length itu sama dengan n\n    int length = sizeof(tinggi_badan) \/ sizeof(tinggi_badan&#091;0]);\n    int sum = 0;\n\n    for(int i = 0; i &lt; length; i++){\n        sum += tinggi_badan&#091;i];\n    }\n\n    \/\/ rata-rata tinggi badan\n    float rata_rata = (float)sum \/ (float)length;\n\n    printf(\"Rata-rata tinggi badan: %.2f\\n\", rata_rata);\n\n    return 0;\n}<\/code><\/pre>\n\n\n\n<p>Hasilnya:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.petanikode.com\/img\/c\/array\/program-rata.webp\" alt=\"Program nilai rata-rata dengan C\" title=\"\" \/><\/figure>\n\n\n\n<h2 id=\"array-multi-dimensi\">Array Multi Dimensi<\/h2>\n\n\n\n<p>Array yang kita buat pada contoh-contoh program di atas adalah array satu dimensi.<\/p>\n\n\n\n<p>Array bisa dibuat dua dimensi bahkan lebih.<\/p>\n\n\n\n<p>Array multidimensi biasanya digunakan untuk membuat matriks.<\/p>\n\n\n\n<p>Contoh array dua dimensi:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>int matriks&#091;3]&#091;3] = {\n    {1, 3, 5},\n    {5, 3, 1},\n    {6, 2, 3}\n};<\/code><\/pre>\n\n\n\n<p>Array dua dimensi biasanya digunakan untuk membuat matriks.<\/p>\n\n\n\n<p>Lalu bagaimana cara mengambil data dari array dua dimensi?<\/p>\n\n\n\n<p>Begini caranya:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>matriks&#091;1]&#091;2];<\/code><\/pre>\n\n\n\n<p>Contoh program:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;iostream&gt;\nusing namespace std;\n\nint main(){\n    int matriks&#091;3]&#091;3] = {\n        {1, 3, 5},\n        {5, 3, 1},\n        {6, 2, 3}\n    };\n\n    printf(\"Isi Data pada indeks ke-(1,0): %d\\n\", matriks&#091;1]&#091;0]);\n\n    return 0;\n}<\/code><\/pre>\n\n\n\n<p>Hasilnya:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.petanikode.com\/img\/c\/array\/matrik.webp\" alt=\"Program matriks\" title=\"\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Apa itu Array? Array merupakan struktur data yang digunakan untuk&nbsp;menyimpan sekumpulan data&nbsp;dalam satu tempat. Setiap data dalam Array memiliki indeks, sehingga kita akan mudah memprosesnya. Indeks array selalu dimulai dari angka nol (0). Pada teori struktur data\u2026 \u2026ukuran array akan bergantung dari banyaknya data yang disimpan di dalamnya. Cara Membuat Array pada C++ Pada C++, [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":1846,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[10],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/posts\/1868"}],"collection":[{"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/comments?post=1868"}],"version-history":[{"count":1,"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/posts\/1868\/revisions"}],"predecessor-version":[{"id":1869,"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/posts\/1868\/revisions\/1869"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/media\/1846"}],"wp:attachment":[{"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/media?parent=1868"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/categories?post=1868"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.uts.ac.id\/jul\/wp-json\/wp\/v2\/tags?post=1868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}