Bergabunglah dalam petualangan seru belajar pemrograman dengan bahasa C! Source code program sederhana bahasa C adalah gerbang menuju dunia coding yang luas. Dengan memahami dasar-dasar seperti struktur program, variabel, operator, dan fungsi, Anda akan siap untuk membangun aplikasi sederhana yang berfungsi.

Bahasa C, yang dikenal karena fleksibilitas dan efisiensinya, adalah pilihan tepat untuk mempelajari dasar-dasar pemrograman. Artikel ini akan memandu Anda melalui langkah-langkah awal, mulai dari definisi program sederhana hingga contoh program yang dapat Anda jalankan sendiri.

Pengertian Program Sederhana Bahasa C

Bahasa C merupakan bahasa pemrograman tingkat menengah yang banyak digunakan dalam pengembangan berbagai jenis aplikasi, dari sistem operasi hingga aplikasi desktop. Program sederhana dalam bahasa C adalah program yang terdiri dari beberapa baris kode yang dirancang untuk menyelesaikan tugas tertentu.

Program sederhana ini dapat berfungsi sebagai dasar untuk mempelajari konsep-konsep dasar pemrograman dan mengembangkan program yang lebih kompleks di masa depan.

Contoh Program Sederhana Bahasa C

Berikut adalah contoh program sederhana bahasa C yang menampilkan pesan “Hello, World!” di layar:

#include int main() printf("Hello, World!\n"); return 0;

Program ini terdiri dari beberapa bagian penting:

  • #include : Baris ini menginklusikan header file stdio.h yang berisi fungsi-fungsi input/output standar, seperti printf() yang digunakan untuk menampilkan teks di layar.
  • int main(): Ini adalah fungsi utama program. Setiap program C harus memiliki fungsi main() yang merupakan titik awal eksekusi program.
  • printf(“Hello, World!\n”);: Baris ini memanggil fungsi printf() untuk menampilkan teks “Hello, World!” di layar. Karakter “\n” merupakan newline character yang digunakan untuk membuat baris baru.
  • return 0;: Baris ini mengembalikan nilai 0 ke sistem operasi, yang menandakan bahwa program telah selesai dieksekusi dengan sukses.

Elemen Dasar Program Sederhana Bahasa C

Program sederhana bahasa C umumnya terdiri dari beberapa elemen dasar:

  • Header File: Header file berisi deklarasi fungsi, variabel, dan konstanta yang dapat digunakan dalam program. Contohnya, header file stdio.h berisi deklarasi fungsi printf() dan scanf() yang digunakan untuk input/output standar.
  • Fungsi Utama (main()): Fungsi utama merupakan titik awal eksekusi program. Semua program C harus memiliki fungsi utama. Fungsi utama biasanya berisi kode yang akan dieksekusi pertama kali saat program dijalankan.
  • Variabel: Variabel adalah tempat penyimpanan data dalam program. Variabel diberi nama dan tipe data tertentu. Contohnya, variabel “umur” dengan tipe data integer dapat menyimpan nilai umur seseorang.
  • Operator: Operator digunakan untuk melakukan operasi pada data. Contohnya, operator “+” digunakan untuk penjumlahan, operator “-” untuk pengurangan, operator “*” untuk perkalian, dan operator “/” untuk pembagian.

Struktur Program Sederhana Bahasa C

Bahasa C adalah bahasa pemrograman yang populer dan banyak digunakan. Salah satu alasannya adalah karena struktur programnya yang sederhana dan mudah dipahami. Artikel ini akan membahas struktur dasar program bahasa C dengan contoh kode, menjelaskan fungsi setiap bagian, dan menunjukkan bagaimana mereka bekerja bersama untuk menjalankan kode.

Struktur Dasar Program Bahasa C

Struktur dasar program bahasa C terdiri dari beberapa bagian penting, yaitu:

  • Header
  • Fungsi Utama (main function)
  • Pernyataan

Ketiga bagian ini bekerja sama untuk menentukan apa yang dilakukan program dan bagaimana cara kerjanya.

Header

Bagian header adalah bagian pertama dari program bahasa C. Header berisi instruksi yang memberitahu kompiler untuk menyertakan pustaka tertentu yang diperlukan dalam program. Pustaka ini menyediakan fungsi-fungsi yang sudah didefinisikan sebelumnya, yang dapat digunakan dalam program Anda.

Contoh:

#include <stdio.h>

Baris kode di atas adalah contoh header yang menyertakan pustaka stdio.h. Pustaka ini menyediakan fungsi-fungsi untuk input dan output standar, seperti printf()untuk menampilkan teks ke layar dan scanf()untuk menerima input dari pengguna.

Fungsi Utama (main function)

Fungsi utama adalah bagian terpenting dari program bahasa C. Fungsi ini adalah titik awal eksekusi program. Setiap program bahasa C harus memiliki fungsi utama, yang didefinisikan dengan kata kunci int main().

Contoh:

int main()

// Kode program di sini

return 0;

Kode di dalam kurung kurawal adalah kode program yang akan dieksekusi. Pernyataan return 0;menunjukkan bahwa program telah selesai dieksekusi dengan sukses.

Pernyataan

Pernyataan adalah instruksi yang memberi tahu komputer apa yang harus dilakukan. Pernyataan dalam program bahasa C ditulis dalam bahasa C dan dipisahkan dengan titik koma (;). Pernyataan dapat berupa deklarasi variabel, operasi aritmatika, fungsi, atau kontrol aliran.

Contoh:

int x = 10;

printf("Hello World!\n");

Pernyataan pertama mendeklarasikan variabel xsebagai integer dan menetapkan nilai 10 padanya. Pernyataan kedua memanggil fungsi printf()untuk menampilkan teks “Hello World!” ke layar.

Tabel Struktur Program Bahasa C

Bagian Program Fungsi Contoh
Header Menyertakan pustaka yang diperlukan #include <stdio.h>
Fungsi Utama (main function) Titik awal eksekusi program int main()
Pernyataan Instruksi yang memberi tahu komputer apa yang harus dilakukan int x = 10;

Dengan memahami struktur dasar program bahasa C, Anda dapat memulai perjalanan Anda dalam belajar bahasa pemrograman yang powerful ini.

Variabel dan Tipe Data

Dalam program komputer, variabel berperan penting sebagai wadah untuk menyimpan data. Variabel memungkinkan program untuk menyimpan dan memanipulasi informasi secara dinamis selama proses eksekusi. Bahasa C, seperti bahasa pemrograman lainnya, menyediakan berbagai tipe data yang memungkinkan kita untuk menyimpan berbagai jenis informasi, mulai dari angka sederhana hingga karakter dan teks.

Tipe Data Dasar dalam Bahasa C

Bahasa C menyediakan beberapa tipe data dasar yang sering digunakan dalam pemrograman. Setiap tipe data memiliki ukuran memori yang berbeda dan digunakan untuk menyimpan jenis data tertentu.

Tipe Data Ukuran (byte) Contoh Keterangan
char 1 ‘A’, ‘b’, ‘1’ Menyimpan karakter tunggal, seperti huruf, angka, atau simbol.
int 2 atau 4 10,

5, 0

Menyimpan bilangan bulat, baik positif maupun negatif.
float 4 3.14,

2.718

Menyimpan bilangan pecahan (bilangan real) dengan presisi tunggal.
double 8 1.618,

3.1415926535

Menyimpan bilangan pecahan (bilangan real) dengan presisi ganda, memberikan akurasi yang lebih tinggi dibandingkan dengan float.

Deklarasi dan Inisialisasi Variabel

Sebelum kita dapat menggunakan variabel dalam program, kita perlu mendeklarasikannya. Deklarasi variabel melibatkan tiga hal utama:

  • Tipe data:Menentukan jenis data yang akan disimpan dalam variabel.
  • Nama variabel:Identitas unik yang digunakan untuk mengakses variabel.
  • Inisialisasi (opsional):Memberikan nilai awal kepada variabel saat dideklarasikan.

Berikut adalah contoh deklarasi dan inisialisasi variabel dalam bahasa C:

int age = 25; // Mendeklarasikan variabel 'age' bertipe integer dengan nilai awal 25. char initial = 'A'; // Mendeklarasikan variabel 'initial' bertipe karakter dengan nilai awal 'A'. float pi = 3.14; // Mendeklarasikan variabel 'pi' bertipe float dengan nilai awal 3.14.

Deklarasi dan inisialisasi variabel adalah langkah penting dalam pemrograman C. Dengan memahami konsep ini, kita dapat mulai membangun program yang lebih kompleks dan efektif.

Operator dan Ekspresi

Operator dalam bahasa C adalah simbol khusus yang melakukan operasi tertentu pada satu atau lebih operan (nilai atau variabel). Operator ini memungkinkan kita untuk membangun ekspresi yang kompleks, yang pada gilirannya dapat digunakan untuk menghitung nilai, membandingkan data, atau mengontrol aliran program.

Operator Dasar dalam Bahasa C

Bahasa C menyediakan berbagai operator untuk melakukan berbagai operasi, termasuk operasi aritmatika, relasional, logika, dan bitwise. Operator-operator ini memungkinkan kita untuk memanipulasi data, membandingkan nilai, dan membuat keputusan dalam program kita.

  • Operator Aritmatika: Operator ini digunakan untuk melakukan operasi matematika dasar seperti penjumlahan, pengurangan, perkalian, pembagian, dan modulus.
  • Operator Relasional: Operator ini digunakan untuk membandingkan dua nilai dan menghasilkan nilai boolean (benar atau salah). Operator relasional meliputi sama dengan (==), tidak sama dengan (!=), lebih besar dari (>), lebih kecil dari ( <), lebih besar dari atau sama dengan (>=), dan lebih kecil dari atau sama dengan (<=).
  • Operator Logika: Operator ini digunakan untuk menggabungkan ekspresi boolean dan menghasilkan nilai boolean. Operator logika meliputi AND (&&), OR (||), dan NOT (!).
  • Operator Bitwise: Operator ini digunakan untuk melakukan operasi pada level bit. Operator bitwise meliputi AND (&), OR (|), XOR (^), NOT (~), left shift ( <<), dan right shift (>>).

Contoh Program Sederhana dengan Operator

Berikut adalah contoh program sederhana yang menggunakan berbagai operator dalam bahasa C:

#include int main() int a = 10, b = 5; int hasil; // Operasi aritmatika hasil = a + b; // Penjumlahan printf("a + b = %d\n", hasil); hasil = a

b; // Pengurangan

printf("a

b = %d\n", hasil);

hasil = a

b; // Perkalian

printf("a

b = %d\n", hasil);

hasil = a / b; // Pembagian printf("a / b = %d\n", hasil); hasil = a % b; // Modulus printf("a %% b = %d\n", hasil); // Operasi relasional if (a == b) printf("a sama dengan b\n"); else printf("a tidak sama dengan b\n"); // Operasi logika if (a > 5 && b < 10) printf("a lebih besar dari 5 dan b kurang dari 10\n"); return 0;

Perbedaan Antara Operator Aritmatika, Relasional, dan Logika

Operator aritmatika digunakan untuk melakukan operasi matematika dasar, operator relasional digunakan untuk membandingkan nilai, dan operator logika digunakan untuk menggabungkan ekspresi boolean.

Jenis Operator Fungsi Contoh
Aritmatika Melakukan operasi matematika +,

  • ,
  • , /, %
Relasional Membandingkan nilai ==, !=, >, <, >=, <=
Logika Menggabungkan ekspresi boolean &&, ||, !

Percabangan dan Perulangan

Setelah mempelajari dasar-dasar pemrograman dalam bahasa C, seperti variabel, tipe data, dan operator, kita akan melangkah lebih jauh dengan membahas dua konsep penting dalam pemrograman: percabangan dan perulangan. Konsep ini memungkinkan program untuk mengambil keputusan dan menjalankan instruksi secara berulang, sehingga program menjadi lebih dinamis dan dapat menyelesaikan tugas yang lebih kompleks.

Percabangan (if-else)

Percabangan memungkinkan program untuk memilih jalur eksekusi berdasarkan kondisi tertentu. Dalam bahasa C, percabangan dilakukan dengan menggunakan pernyataan ifdan else. Pernyataan ifmengevaluasi sebuah kondisi, dan jika kondisi tersebut benar, maka blok kode di dalam ifakan dieksekusi. Jika kondisi salah, maka blok kode di dalam elseakan dieksekusi, jika ada.

Perhatikan contoh program berikut:

#include int main() int nilai; printf("Masukkan nilai: "); scanf("%d", &nilai); if (nilai >= 80) printf("Anda mendapatkan nilai A.\n"); else if (nilai >= 70) printf("Anda mendapatkan nilai B.\n"); else if (nilai >= 60) printf("Anda mendapatkan nilai C.\n"); else printf("Anda mendapatkan nilai D.\n"); return 0;

Program ini akan meminta pengguna untuk memasukkan nilai. Kemudian, program akan mengevaluasi nilai yang dimasukkan dan menampilkan pesan yang sesuai dengan rentang nilai yang telah ditentukan.

Perulangan (for, while), Source code program sederhana bahasa c

Perulangan memungkinkan program untuk menjalankan blok kode tertentu secara berulang, hingga kondisi tertentu terpenuhi. Dalam bahasa C, terdapat dua jenis perulangan: fordan while.

Perulangan for

Perulangan fordigunakan ketika jumlah iterasi perulangan sudah diketahui. Perulangan formemiliki tiga bagian utama:

  • Inisialisasi: bagian ini dieksekusi hanya sekali di awal perulangan, untuk menginisialisasi variabel yang digunakan dalam perulangan.
  • Kondisi: bagian ini dievaluasi sebelum setiap iterasi. Jika kondisi benar, maka blok kode di dalam perulangan akan dieksekusi. Jika kondisi salah, maka perulangan akan berhenti.
  • Increment/Decrement: bagian ini dieksekusi setelah setiap iterasi, untuk mengubah nilai variabel yang digunakan dalam kondisi.

Perhatikan contoh program berikut:

#include int main() int i; for (i = 1; i <= 5; i++) printf("%d\n", i); return 0;

Program ini akan menampilkan angka 1 hingga 5 secara berurutan.

Perulangan while

Perulangan whiledigunakan ketika jumlah iterasi perulangan belum diketahui. Perulangan whileakan terus berulang selama kondisi yang ditentukan benar.

Perhatikan contoh program berikut:

#include int main() int i = 1; while (i <= 5) printf("%d\n", i); i++; return 0;

Program ini akan menampilkan angka 1 hingga 5 secara berurutan, sama seperti contoh program perulangan forsebelumnya. Perbedaannya terletak pada cara menginisialisasi variabel dan increment variabel. Pada perulangan while, variabel diinisialisasi sebelum perulangan dimulai dan increment dilakukan di dalam blok kode perulangan.

Fungsi: Source Code Program Sederhana Bahasa C

Fungsi merupakan blok kode yang dirancang untuk menjalankan tugas tertentu dalam program bahasa C. Fungsi memungkinkan pemrogram untuk memecah program yang kompleks menjadi bagian-bagian yang lebih kecil, terstruktur, dan mudah dikelola. Penggunaan fungsi juga membantu meningkatkan kemampuan reuse kode, sehingga program menjadi lebih efisien dan mudah diubah.

Pengertian Fungsi

Fungsi adalah blok kode yang dirancang untuk menjalankan tugas tertentu dalam program bahasa C. Fungsi membantu dalam memecah program yang kompleks menjadi bagian-bagian yang lebih kecil, terstruktur, dan mudah dikelola.

Kegunaan Fungsi

Fungsi memiliki beberapa kegunaan penting dalam pemrograman bahasa C, antara lain:

  • Modularitas: Fungsi membantu memecah program menjadi bagian-bagian yang lebih kecil, yang dapat dikembangkan dan diuji secara terpisah. Ini memudahkan pemeliharaan dan debugging kode.
  • Reuse Kode: Fungsi dapat dipanggil berulang kali dari berbagai bagian program, sehingga mengurangi pengulangan kode dan meningkatkan efisiensi.
  • Organisasi Kode: Fungsi membantu dalam mengatur kode program menjadi struktur yang lebih terorganisir dan mudah dipahami.
  • Abstraksi: Fungsi memungkinkan programmer untuk menyembunyikan detail implementasi tertentu dari pengguna fungsi, sehingga mereka dapat fokus pada penggunaan fungsi tanpa perlu memahami detail internalnya.

Contoh Program Sederhana Menggunakan Fungsi

Berikut adalah contoh program sederhana yang menggunakan fungsi untuk menghitung luas persegi panjang:```c#include // Fungsi untuk menghitung luas persegi panjangint hitungLuas(int panjang, int lebar) return panjang

lebar;

int main() int panjang, lebar, luas; printf("Masukkan panjang: "); scanf("%d", &panjang); printf("Masukkan lebar: "); scanf("%d", &lebar); // Memanggil fungsi hitungLuas() untuk menghitung luas luas = hitungLuas(panjang, lebar); printf("Luas persegi panjang: %d\n", luas); return 0;```

Cara Mendefinisikan Fungsi

Untuk mendefinisikan fungsi dalam bahasa C, Anda perlu mengikuti sintaks berikut:```ctipe_data nama_fungsi(tipe_data parameter1, tipe_data parameter2, ...) // Kode fungsi return nilai_kembali;``` Penjelasan:

tipe_data

Menentukan tipe data yang akan dikembalikan oleh fungsi.

nama_fungsi

Nama yang diberikan untuk fungsi.

parameter1, parameter2, ...

Daftar parameter yang diterima oleh fungsi. Setiap parameter memiliki tipe data dan nama.

Kode fungsi

Blok kode yang berisi instruksi yang akan dijalankan oleh fungsi.

return nilai_kembali

Menentukan nilai yang akan dikembalikan oleh fungsi.

Cara Memanggil Fungsi

Untuk memanggil fungsi dalam program, Anda perlu menggunakan nama fungsi diikuti dengan tanda kurung dan argumen yang diperlukan:```cnama_fungsi(argumen1, argumen2, ...);``` Penjelasan:

nama_fungsi

Nama fungsi yang akan dipanggil.

argumen1, argumen2, ...

Daftar argumen yang akan diteruskan ke fungsi. Argumen ini harus sesuai dengan tipe data parameter yang didefinisikan dalam fungsi.

Contoh Implementasi

Berikut adalah contoh program sederhana yang mendefinisikan dan memanggil fungsi untuk menghitung luas persegi panjang:```c#include // Fungsi untuk menghitung luas persegi panjangint hitungLuas(int panjang, int lebar) return panjang

lebar;

int main() int panjang, lebar, luas; printf("Masukkan panjang: "); scanf("%d", &panjang); printf("Masukkan lebar: "); scanf("%d", &lebar); // Memanggil fungsi hitungLuas() untuk menghitung luas luas = hitungLuas(panjang, lebar); printf("Luas persegi panjang: %d\n", luas); return 0;```Dalam program ini, fungsi `hitungLuas()` menerima dua parameter integer `panjang` dan `lebar`, mengalikan keduanya, dan mengembalikan hasil perhitungan sebagai integer.

Fungsi `main()` memanggil fungsi `hitungLuas()` dengan argumen `panjang` dan `lebar` yang dimasukkan oleh pengguna, kemudian menyimpan hasil perhitungan dalam variabel `luas` dan mencetaknya ke layar.

Kesimpulan

Fungsi merupakan konsep penting dalam pemrograman bahasa C yang membantu dalam meningkatkan modularitas, reuse kode, organisasi kode, dan abstraksi program. Fungsi memungkinkan programmer untuk memecah program yang kompleks menjadi bagian-bagian yang lebih kecil, terstruktur, dan mudah dikelola. Dengan memahami cara mendefinisikan dan memanggil fungsi, programmer dapat membuat program bahasa C yang lebih efisien, mudah diubah, dan mudah dipahami.

Input dan Output

Dalam pemrograman, input dan output adalah bagian fundamental yang memungkinkan program berinteraksi dengan pengguna dan dunia luar. Input mengizinkan program untuk menerima data dari pengguna, sementara output memungkinkan program untuk menampilkan hasil atau informasi kepada pengguna. Di C, kita menggunakan fungsi khusus untuk menangani input dan output.

Membaca Input dari Pengguna

Untuk membaca input dari pengguna, kita menggunakan fungsi scanf(). Fungsi ini mengambil data dari input standar (biasanya keyboard) dan menyimpannya dalam variabel yang ditentukan. Berikut format umum penggunaan scanf():

scanf("%format_specifier", &variable);

Contohnya, untuk membaca sebuah bilangan bulat dari pengguna dan menyimpannya dalam variabel bilangan, kita dapat menggunakan:

scanf("%d", &bilangan);

Di sini, %dadalah format specifier untuk bilangan bulat, dan &bilanganadalah alamat variabel bilangan.

Menampilkan Output di Layar

Untuk menampilkan output di layar, kita menggunakan fungsi printf(). Fungsi ini menampilkan teks atau nilai variabel ke output standar (biasanya layar). Berikut format umum penggunaan printf():

printf("%format_specifier", variable);

Contohnya, untuk menampilkan teks "Halo, dunia!" di layar, kita dapat menggunakan:

printf("Halo, dunia!");

Untuk menampilkan nilai variabel bilangan, kita dapat menggunakan:

printf("%d", bilangan);

Contoh Program Sederhana

Berikut contoh program sederhana yang meminta input dari pengguna dan menampilkan output:

#include <stdio.h>

int main() 
  int bilangan;

  printf("Masukkan sebuah bilangan: ");
  scanf("%d", &bilangan);

  printf("Anda memasukkan bilangan: %d\n", bilangan);

  return 0; 

Program ini pertama-tama mendeklarasikan variabel bilangansebagai integer. Kemudian, program menampilkan teks "Masukkan sebuah bilangan:" di layar, meminta pengguna untuk memasukkan sebuah bilangan.

Fungsi scanf()kemudian membaca bilangan yang dimasukkan pengguna dan menyimpannya dalam variabel bilangan. Terakhir, program menampilkan teks "Anda memasukkan bilangan:" diikuti nilai bilangandi layar.

Contoh Program Sederhana

Untuk memulai perjalanan pemrograman dengan bahasa C, mari kita bahas contoh program sederhana yang dapat Anda jalankan dengan compiler C. Program ini akan mencetak teks "Hello, World!" ke layar. Program sederhana ini merupakan langkah awal yang ideal untuk memahami dasar-dasar pemrograman C.

Langkah-langkah Mengkompilasi dan Menjalankan Program

Sebelum kita menyelami kode, mari kita pahami bagaimana cara mengkompilasi dan menjalankan program C. Berikut adalah langkah-langkah umum:

  1. Simpan Kode:Simpan kode program C dalam file dengan ekstensi .c (misalnya, hello.c).
  2. Kompilasi:Gunakan compiler C (seperti GCC) untuk mengkompilasi kode sumber menjadi kode mesin yang dapat dipahami komputer. Perintah umum adalah:
  3. gcc hello.c

    o hello

  4. Jalankan:Setelah program dikompilasi, Anda dapat menjalankannya dengan mengetik nama file yang dihasilkan (dalam contoh ini, hello):
  5. ./hello

Penjelasan Kode

Berikut adalah kode program C sederhana yang mencetak "Hello, World!":

#include <stdio.h>

int main() 
    printf("Hello, World!\n");
    return 0; 

Mari kita uraikan setiap baris kode:

  • #include <stdio.h>: Baris ini menyertakan header file stdio.h, yang menyediakan fungsi-fungsi standar input/output (I/O) seperti printf().
  • int main() : Baris ini mendefinisikan fungsi utama (main), titik awal eksekusi program. Fungsi main() mengembalikan nilai integer (int).
  • printf("Hello, World!\n");: Baris ini menggunakan fungsi printf() untuk mencetak teks "Hello, World!" ke layar. Karakter \n adalah escape sequence untuk baris baru, sehingga teks dicetak pada baris baru.
  • return 0;: Baris ini mengembalikan nilai 0 dari fungsi main(), yang menunjukkan bahwa program telah selesai dijalankan dengan sukses.
  • : Penutup kurung kurawal untuk fungsi main().

Penutupan Akhir

Dengan pemahaman yang kuat tentang dasar-dasar bahasa C, Anda telah membuka pintu menuju dunia pemrograman yang menarik. Anda dapat membangun aplikasi yang lebih kompleks, menguasai algoritma yang canggih, dan bahkan menjelajahi bahasa pemrograman lain dengan lebih mudah. Selamat berkarya dan teruslah belajar!

Ringkasan FAQ

Apa yang dimaksud dengan "compiler" dalam konteks pemrograman C?

Compiler adalah program yang mengubah kode sumber (source code) yang ditulis dalam bahasa C menjadi kode mesin yang dapat dipahami oleh komputer.

Bagaimana cara mendapatkan compiler C?

Ada banyak compiler C yang tersedia, seperti GCC (GNU Compiler Collection) yang populer dan mudah diakses.

Apakah bahasa C sulit dipelajari?

Bahasa C dapat dipelajari dengan mudah, terutama dengan panduan yang tepat dan latihan yang konsisten.

Baca Juga:  Teknik Termudah Mengganti Ban Mobil Sendiri

Arnita

Gemini girl, dah itu aja

Bagikan:

Tinggalkan komentar