Anda di halaman 1dari 36

TUGAS ALL ABOUT VISUAL C++

DOSEN PEMBIMBING M. FIKRY, ST, M.Sc

DISUSUN OLEH R. SAHRONI (NIM : 10851001733)

UNIVERSITAS ISLAM NEGERI SUSKA RIAU FAKULTAS SAINS DAN TEKNOLOGI TEKNIK INFORMATIKA 2009/2010

KATA PENGANTAR
Puji syukur kehadirat Allah SWT, karena dengan rahmat dan hidayah-Nyalah penulis dapat menyelesaikan makalah ini tepat pada waktunya. Shalawat beriring salam selalu kita panjatkan kepada Rasullullah SAW, karena kegigihan beliau dan ridho-Nyalah kita dapat merasakan kenikmatan dunia seperti sekarang ini. Adapun tujuan dari penulisan makalah ini adalah untuk memenuhi tugas yang diberikan olah dosen pembimbing pada mata kuliah Struktur Data, makalah ini juga bertujuan untuk menambah pengetahuan dan wawasan bagi pembaca sekalian. Penulis mengucapkan terimakasih kepada Bapak M. Fikry, ST, M.Sc selaku dosen pembimbing mata kuliah Struktur Data yang telah membimbing penulis dalam menyelesaikan penulisan makalah ini tepat waktunya. Penulis juga mengucapkan terimakasih kepada semua pihak yang telah memberikan sembangsihnya dalam penulisan makalah ini. Penulis menyadari bahwasanya makalah ini masih jauh dari kesempurnaan, oleh karena itu kritik dan saran penulis harapkan dari pembaca sekalian demi terciptanya kesempurnaan dalam penyusunan makalah ini. Semoga makalah ini bermanfaat bagi yang memerlukan. Terima kasih.

Pekanbaru, 25 Desember 2009

Penulis

BAB I PENDAHULUAN

Sejarah Visual C++


Tahun 1978, Brian W. Kerninghan & Dennis M. Ritchie dari AT & T Laboratories mengembangkan bahasa B menjadi bahasa C. Bahasa B yang diciptakan oleh Ken Thompson sebenarnya merupakan pengembangan dari bahasa BCPL ( Basic Combined Programming Language ) yang diciptakan oleh Martin Richard. Sejak tahun 1980, bahasa C banyak digunakan pemrogram di Eropa yang sebelumnya menggunakan bahasa B dan BCPL. Dalam perkembangannya, bahasa C menjadi bahasa paling populer diantara bahasa lainnya, seperti PASCAL, BASIC, FORTRAN. Tahun 1989, dunia pemrograman C mengalami peristiwa penting dengan dikeluarkannya standar bahasa C oleh American National Standards Institute (ANSI). Bahasa C yang diciptakan Kerninghan & Ritchie kemudian dikenal dengan nama ANSI C. Mulai awal tahun 1980, Bjarne Stroustrup dari AT & T Bell Laboratories mulai mengembangkan bahasa C. Pada tahun 1985, lahirlah secara resmi bahasa baru hasil pengembangan C yang dikenal dengan nama C++. Sebenarnya bahasa C++ mengalami dua tahap evolusi. C++ yang pertama, dirilis oleh AT&T Laboratories, dinamakan cfront. C++ versi kuno ini hanya berupa kompiler yang menterjemahkan C++ menjadi bahasa C. Pada evolusi selanjutnya, Borland International Inc. mengembangkan kompiler C++ menjadi sebuah kompiler yang mampu mengubah C++ langsung menjadi bahasa mesin (assembly). Sejak evolusi ini, mulai tahun 1990 C++ menjadi bahasa berorientasi obyek yang digunakan oleh sebagian besar pemrogram professional.

BAB II PEMBAHASAN

2.1 Instalasi Visual Studio di Windows 7


1. Double klik Setup Visual C++ 2. Pada Windows 7 kita akan menemui message bahwa program ini tidak compitible dengan system, namun lanjutkan dengan mengklik run program dan menceklist dont show this message. 3. Klik Next 4. Ceklist I accept the agreement lalu Next 5. Masukkan Serial Number lalu Next 6. Pilih Custom lalu Next 7. Tentukan tempat destination program 8. Ulangi langkah kedua 9. Pilih paket-paket program yang ingin digunakan lalu Continue 10. Ikuti semua instruksi 11. Selesai

2.2 Dasar-dasar pemrograman Visual C++


C++ adalah sebuah bahasa pemrograman yang memiliki banyak dialek, seperti bahasa yang memiliki banyak dialek. Dalam C++, dialek bukan disebabkan oleh karena si pembicara berasal dari Jepang atau Indonesia, melainkan karena bahasa ini memiliki beberapa kompiler yang berbeda. Ada empat kompiler umum yaitu : C++ Borland, C++ Microsoft Visual, C/386 Watcom, dan DJGPP.

Setiap kompiler ini agak berbeda. Setiap kompiler akan dapat menjalankan fungsi fungsi standar C++ ANSI/ISO, tetapi masing masing kompiler juga akan dapat menjalankan fungsi fungsi nonstandard (fungsi fungsi ini, agak mirip dengan ucapan yang tidak standar yang diucapkan orang diberbagai pelosok negeri. Kadang kadang pemakaian fungsi nonstandard akan menimbulkan masalah pada saat anda hendak mengkompilasi kode sumber data (source code) (yaitu program berbahasa C++ yang ditulis oleh seorang programer) mempergunakan kompiler yang berbeda. Bahasa pemrograman C++ adalah bahasa yang amat berbeda. Untuk kompiler C++ berbasis DOS, akan memerlukan beberapa kata kunci (keywords); keyword sendiri tidak cukup untuk difungsikan sebagai input dan output. Walau hampir semua fungsi dalam file library tampaknya bisa diakses oleh header filenya. Contoh pada program sesungguhnya : #include int main() { cout<<"HEY, you, I'm alive! Oh, and Hello World!"; return 0; } Tanda #include adalah sebuah prosesor pengarah yang mengatakan kepada kompiler untuk meletakan kode dari header file iostream.h kedalam program. Dengan menyertakan header file, kita dapat mengakses banyak fungsi fungsi berbeda. Dalam contoh diatas, fungsi cout memerlukan file iostream.h. Pada baris berikutnya yang penting adalah int main(). Baris ini mengatakan kepada kompiler bahwa ada sebuah fungsi bernama main, yang mana fungsi itu mengembalikan sebuah integer, sehingga diberi tanda int. Tanda kurung ({ dan }) menandakan awal dan akhir fungsi dalam program diatas dan menghentikan kode lainnya. Dalam bahasa C++ pemakaian fungsi cout dipakai untuk menampilkan text di layar monitor. Itu juga memakai tanda atau symbol <;<; , yang diketahui sebagai operator pemasukan ( insertion operators). Tanda tersebut mengatakan kepada kompiler agar segera menghasilkan output sesuai dengan input yang dimasukkan. Tanda semicolon ditambahkan kedalam bagian akhir dari semua fungsi yang dipanggil dalam bahasa C++; tanda seterusnya memperlihatkan variable yang dideklarasikan.

Pada baris itu juga ada kode yang memerintahkan fungsi main kembali ke 0. Pada saat satu kali kembali diproses, itu dilakukan melalui system operasi. Sebagai catatan, pendeklarasian fungsi main yang tidak diinginkan memiliki proses kembali, dapat ditambahkan void main(). Tanda kurung terakhir berperan sebagai penutup agar fungsi dihentikan. Comment atau komentar sering dipakai dalam penulisan program. Ketika kita mengatakan kepada kompiler bahwa sebuah bagian dari program kita adalah text komentar, kompiler tidak akan memasukan itu sebagai perintah pemrograman. Untuk membua sebuah komentar dipergunakan tanda //, yang mengaakan kepada kompiler bahwa baris berikut adalah komentar, atau memakai tanda /* dan kemudian diakhiri tanda */ untuk menandai bahwa segala yang ada antara kedua tanda ini adalah komentar. Beberapa kompiler akan mengubah warna area komentar, tetapi beberapa kompiler lain tidak. Selain itu, program juga bisa dibuat untuk menerima input. Fungsi yang dipakai adalah cin, dan diikuti dengan tanda >>. Sebelum mencoba menerima input, yang harus dimiliki adalah tempat penyimpan input. Dalam pemrograman, input dan data disimpan dalam variable. Ada beberapa jenis variable. Pada saat kita ingin mengatakan kepada kompiler sebuah variable yang kita deklarasikan, kita harus menyertakan tipe data dan nama dari variable itu. Beberapa cara dasar adalah dengan menuliskan include char, int, dan float. Sebuah variabel char menyimpan sebuah karakter tunggal; variabel int akan menyimpan integer (bukan bilangan desimal), dan variables float akan menyimpan bilangan desimal. Setiap variable - char, int, dan float - merupakan sebuah kata kunci (keyword) yang akan dipergunakan pada saat pendeklarasikan sebuah variabel. Untuk mendeklarasikan sebuah variable kita harus memakai syntax type . Ini diijinkan untuk mendeklarasikan variable multiple dari jenis variable yang sama pada baris yang sama; masing masing variabelnya dipisahkan dengan tanda koma. Deklarasi sebuah variable atau sekelompok variabel dapat diikuti tanda semicolon. Jika tidak menggunakan sebuah variable yang dideklarasikan sebelumnya. program tidak akan dapat dioperasikan (atau di run), dan kita akan menerima pesan error yang memberitahukan bahwa telah terjadi kesalahan.

Berikut adalah beberapa contoh deklarasi variable: int x; int a, b, c, d;

char letter; float the_float; Walaupun kita boleh memiliki banyak variable dengan jenis yang sama, namun kita tidak dapat memiliki variable dengan nama yang sama. Begitu pula kita tidak dapat memiliki variable dan fungsi dengan nama yang sama. #include <> int main() { int thisisanumber; cout<<"Please enter a number:"; cin>>thisisanumber; cout<<"You entered: "< return 0; }

Pembahasan program diatas disetiap barisnya. Keyword int mendeklarasikan thisisanumber menjadi sebuah bilangan integer. Fungsi cin>> membaca sebuah nilai ke dalam thisisanumber; user harus menekan tombol enter sebelum bilangan bias dibaca oleh program. Perlu diingat, bahwa variable yang telah dideklarasikan adalah sebuah integer; jika user cenderung menulis bilangan decimal, itu akan diproses dengan tidak tepat (sebab komponen desimal dari bilangan itu akan ditolak). Apabila tanda quotation dihilangkan, maka kompiler akan menganggap itu sebuah variabel, dan karena itu program akan melakukan pengecekan atas nilai variabel agar dapat mengganti nama variabel dengan variable pada saat eksekusi fungsi output.

Sintak beserta contoh dan fungsi


Menampilkan data ke Layar Printf() Printf () digunakan untuk menampilkan data berupa kalimat. Printf() juga digunakan untuk menampilakan data yang diisikan melalui keyboard ke layar. Contoh : #include main() { printf("selamat belajar pemrograman c++..."); } Puts() Puts() mempunyai kegunaan yang hampir sama dengan printf() yaitu menampilkan data berupa kalimat. Hanya saja puts hanya digunakan untuk menampilkan data berupa kalimat yang sudah diinputkan. Contoh : #include main() { puts("selamat belajar pemrograman c++..."); }

Putchar() Putchar digunakan untuk menampilkan data berupa karakter, biasanya yang dapat ditampilkan hanya satu karakter saja. Contoh : #include main() { putchar('A'); }

Memasukkan data dari keyboard Dalam memasukkan data dari keyboard, kita memerlukan fungsi printf() untuk menampilakan data dan juga mencetak data dan juga funsi scanf yang digunakan untuk menginputkan data dari keyboard. Contoh : #include main() { int nilai; printf("masukkan nilai anda = ");scanf("%i",&nilai);

printf("NILAI = %i",nilai); } Dalam contoh program di atas, kita menggunakan nilai sebagai variable dengan tipe data int. printf("masukkan nilai anda = ");scanf("%i",&nilai); dalam perintah di atas printf() berfungsi sebagai perintah untuk mencetak data. Dalam perintah di atas apabila hanya menggunakan printf saja, maka yang keluar pada layar output hanya masukkan nilai anda =. Maka dari itu kita memerlukan fungsi scanf, agar kita dapat memasukkan data. Dan outputannya menjadi masukkan nilai anda = _. Pada tanda _ itu berarti kita dapat menuliskan data yang akan kita inputkan dari keyboard. Jika anda ingin mencetak hasil data, maka anda memerlukan perintah printf() seperti pada bedah program di bawah ini yang di ambilkan dari program di atas : printf("NILAI = %i",nilai); fungsi printf dengan statement di atas berfungsi untuk menampilkan sekaligus mencetak hasil dari data yang anda inputkan dari keyboard tadi. 1 #include

main()

{ int nilai; printf("masukkan nilai anda = ");scanf("%i",&nilai);

printf("NILAI = %i",nilai); } %i di atas adalah data yang di baca program, maksudnya adalah membaca tipe data yang di tandai dengan garis ke-1, &nilai adalah keterangan dari variable data yang tipe datanya di baca oleh program.

KONDISI PERNYATAAN IF Penulisan kondisi dalam bentuk if, diikuti dengan kurung. Di dalam kurung di isi dengan pernyataan. Contoh penulisannya adalah sebagai berikut : If(kondisi) { Pernyataan; } Contoh program dari kondisi if adalah sebagai berikut : #include main() { int pilih; printf("masukkan pilihanmu dengan angka : ");scanf("%i",&pilih); if(pilih==1)

{ printf("Jeruk"); } if(pilih==2) { printf("Mangga"); } }

IF-ELSE If-else adalah bentuk penulisan kondisi yang sesuai dengan standart logika matematika, yang dimaksudkan adalah di dalam kondisi ada 2 kemungkinan yaitu ya dan tidak. Penulisan kondisi if-else adalah sebagai berikut : #include main() { int pilihan; printf("masukkan pilihan anda dengan angka : ");scanf("%i",&pilihan); if(pilihan==0) { printf("bakso");

} else { printf("Soto Daging"); } }

IF-ELSE MAJEMUK Contoh: #include main() { int nilai; printf("masukkan nilai anda = ");scanf("%i",&nilai); if(nilai>80) { printf("A"); } if(nilai>60&&nilai<=80) {

printf("B"); } if(nilai>40&&nilai<=60) { printf("C"); } if(nilai>20&&nilai<=40) { printf("D"); } else { printf("E"); } }

IF-ELSE BERSARANG (NESTED IF) If bersarang adalah kondisi if yang mempunyai percabangan. Bentuk penulisannya adalah sebagai berikut : If(syarat) {

If(syarat) { perintah; } Else { perintah; } } Else { If(syarar) { perintah; } Else { perintah; } }

Contoh : #include main() { int B,T; printf("Masukkan Berat Badan Anda : ");scanf("%i",&B); printf("Masukkan Tinggi Anda : ");scanf("%i",&T); if(T>=165) { if(B>=55) { printf("Tinggi Gemuk"); } else { printf("Tinggi Kurus"); } } else {

if(B>=50) { printf("Pendek Gemuk"); } else { printf("Pendek Kurus"); } } }

SWITCH-CASE Pernyataan kondisi switch-case digunakan untuk pengambilan keputusan yang melibatkan dari beberapa kemungkinan. Pernyataan switch-case hampir sama dengan pernyataan if-else bertingkat. Pada switch case data yang bisa digunakan hanya data yang bertipe int dan char. Penulisan pada switch-case adalah sebagai berikut : Switch(pernyataan integer atau karakter) { Case konstanta 1 : perintah; perintah;

Break; Case konstanta 2 : perintah; perintah; Break; Default; perintah; Break; } Default akan dijalankan apabila semua program di atasnya tidak terpenuhi. Contoh programnya adalah sebagai berikut : #include main() { char kode; printf("masukkan [1-7] : ");scanf("%c",&kode); switch(kode) {

case '1': printf("Senin"); break; case '2': printf("Selasa"); break; case '3': printf("Rabu"); break; case '4': printf("Kamis"); break; case '5': printf("Jum'at"); break; case '6': printf("Sabtu"); break; case '7': printf("Minggu");

break; default: printf("Kode Yang Anda Masukkan Salah...!!!"); break; } }

LOOPING Looping adalah perulangan. Didalam c++ looping digunakan untuk membuat program yang diulang-ulang. Dalam c++ macam-macam loopping ada 3 yaitu for, while, dan do_while. PERULANGAN FOR Penulisan for adalah sebagai berikut : For(inisialisasi; syarat pengulangan; pengubah nilai pencacah) { perintah1; perintah2; perintah3; } Kegunaan dari masing-masing argument for adalah : Inisialisasi : untuk memberikan nilai awal dari variabel-variabel tertentu.

Syarat pengulangan : untuk memegang control suatu perulangan, karena pada bagian ini yang memutuskan perulangan akan di teruskan atau perulangan akan dihentikan. Pengubah nilai pencacah : Mengatur kenaikan atau penurunan nilai pencacah. Contoh : Program perulangan naik #include main() { int nilai; for(nilai=1;nilai<=10;nilai++) { printf("%i",nilai); printf("\n"); } }

Program perulangan turun #include main() { int nilai;

for(nilai=10;nilai>=1;nilai--) { printf("%i",nilai); printf("\n"); } }

Jika nilai pengubah pencacah ingin dinaikkan atau diturunkan lebih dari 1 penulisannya adalah nilai+=bilangan (dalam hal ini nilai pencacah diibaratkan dengan nilai). Contoh programnya adalah sebagai berikut : #include main() { int nilai; for(nilai=1;nilai<=10;nilai+=2) { printf("%i",nilai); printf("\n"); } }

PERULANGAN WHILE Perulangan while sama dengan perulangan for. Perulangan akan berlanjut selama syaratnya terpenuhi. Bentuk umum perulangan while adalah sebagai berikut : While(syarat) { pernyataan/perintah; pernyataan/perintah; } Contoh program : #include main() { int nilai=1; while(nilai<=10) { printf("%i",nilai); nilai++; printf("\n");

} }

PERNYATAAN DO_WHILE Pernyataan do_while merupakan pernyataan perulangan yang melakukan perulangan terlebih dahulu dan setelah itu baru melakukan pengujian terhadap perulangan tersebut. Bentuk umum perulangan do_while adalah sebagai berikut : Jika pernyataan hanya 1 : Do Pernyataan / perintah; While(syarat); Jika pernyataan lebih dari 1 : Do { Pernyataan / perintah 1; Pernyataan / perintah 2; } While(syarat); Contoh program :

#include main() { int nilai=1; do { printf("%i",nilai); nilai++; printf("\n"); } while(nilai<=10); }

PERNYATAAN NESTED LOOPING Pernyataan nested looping adalah pernyataan perulangan di dalam perulangan. Biasanya yang digunakan dalam pernyataan nested looping adalah pernyataan perulangan for. Bentuk umum pernyataan nested looping adalah sebagai berikut : For(inisialisasi; syarat pengulangan; pengubah nilai pencacah) { For(inisialisasi; syarat pengulangan; pengubah nilai pencacah) {

Pernyataan / perintah ; } } Contoh ; #include main() { int i,j; for(i=1;i<=5;i++) { for(j=1;j<=i;j++) { printf("%i",i); } } }

ARRAY Array merupakan kumpulan data yang bernilai sama dengan urutan tertentu dengan nama yang sama. Letak atau posisi array ditunjukkan oleh suatu index. Array ada 3 macam : ARRAY BERDIMENSI SATU

Bentuk umum dari array berdimensi satu : Type_data nama_variabel[index_array]; Keterangan : Type_data : type data yang digunakan untuk menyatakan variabel array. Nama_variabel : digunakan untuk menyatakan nama dari array. Index_array : angka untuk menyatakan letak atau posisi dari array. Contoh program : #include main() { int bilangan[5],i; for(i=0;i<5;i++) { printf("masukkan bilangan ke %i : ",i+1);scanf("%i",&bilangan[i]); printf("\n"); } } *** #include main()

{ int bilangan[5]={2,3,6,4,9}; int i; for(i=0;i<5;i++) { printf("bilangan ke %i = %i",i+1,bilangan[i]); printf("\n"); } }

ARRAY 2 DIMENSI Contoh array 2 dimensi : #include main() { int bilangan[3][2]={4,6,3,8,5,9}; int i,j; for(i=0;i<3;i++) { for(j=0;j<2;j++)

{ printf("bilangan ke %i,%i = %i\t",i+1,j+1,bilangan[i][j]); } printf("\n"); } }

ARRAY MULTI DIMENSI #include main() { char data[2][3][6]={"1","soto","5000","2","bakso","3500"}; int i,j; for(i=0;i<2;i++) { for(j=0;j<3;j++) { printf("\t%s",data[i][j]); } printf("\n");

} }

FUNGSI PENJELASAN Bentuk penulisan fungsi adalah sebagai berikut : Nama_fungsi(argument) { pernyataan/peintah 1; pernyataan/perintah 2; pernyataan/perintah 3; } Keterangan :

Nama_fungsi boleh dituliskan secara bebas dengan ketentuan, tidak menggunakan spasi dan mempunyai arti sendiri. Argumen diletakkan diatara tanda () yang terletak di belakang nama fungsi. Argumen boleh diisi dengan suatu data atau dibiarkan kosong. Pernyataan / perintah, diletakkan diantara tanda {}. Pada pemanggilan suatu fungsi, cukup dengan menuliskan nama fungsinya.

Contoh program : #include garis()

{ printf("-------------------------"); } main() { garis(); printf("\nTEKNIK INFORMATIKA\n"); garis(); }

Keterangan program :

Penulisan fungsi

#include Garis() { Printf(--------------------------------); }

Pemanggilan fungsi

Main() {

Garis(); Printf(\nTEKNIK INFORMATIKA\n); Garis(); } STUKTUR Bentuk penulisan sebuah fungsi sederhana adalah sebagai berikut : Bentuk penulisan struktur : Struct { Elemen_struktur 1; Elemen_struktur2; Elemen_struktur3; .. ... }nama_type_struktur; Contoh programnya adalah sebagai berikut : #include main() { struct dagangan{

char nama[20]; char kode[10]; char unit[5]; char harga[9]; }dagangan; printf("masukkan nama dagangan : ");scanf("%s",&dagangan.nama); printf("masukkan kode barang : ");scanf("%s",&dagangan.kode); printf("masukkan unit barang : ");scanf("%s",&dagangan.unit); printf("masukkan harga barang : ");scanf("%s",&dagangan.harga); printf("\n===PRINT OUT===\n"); printf("nama dagangan : %s\n",dagangan.nama); printf("kode barang : %s\n",dagangan.kode); printf("unit barang : %s\n",dagangan.unit); printf("harga barang : %s\n",dagangan.harga); } ***** #include main() { struct{

int luas; int panjang; int lebar; int keliling; }persegi; printf("masukkan panjang = ");scanf("%i",&persegi.panjang); printf("masukkan lebar = ");scanf("%i",&persegi.lebar); persegi.luas=persegi.panjang*persegi.lebar; persegi.keliling=2*persegi.panjang+2*persegi.lebar; printf("\nluas persegi = %i\n",persegi.luas); printf("keliling persegi = %i\n",persegi.keliling); }

BAB III PENUTUP


3.1 Kesimpulan
Adapun beberapa kesimpulan yang dapat diambil adalah : 1. Dalam bahasa C++ semua hal-hal yang berhubungan dengan sintaks harus diperhatikan secara seksama, hal ini dikarenakan sebuah program tidak akan bisa di running apabila salah satu sintak itu missing. 2. Pada Visual C++ terdapat empat kompiler umum yaitu : C++ Borland, C++ Microsoft Visual, C/386 Watcom, dan DJGPP.

3.2 Saran
1. Semoga makalah ini menjadi sebuah titik pendorong bagi pemula yang ingin belajar bahasa C++ secara mendalam. 2. Semoga makalah ini menjadi pegangan pembaca dalam memahami setiap sintak umum yang ada pada bahasa C++

DAFTAR PUSTAKA
http://www.google.co.id/url?sa=t&source=web&ct=res&cd=6&ved=0CBQQFjAF&url=http %3A%2F%2Fbadaiardiat.blogspot.com%2F2009%2F11%2Fkonsep-dasar-bahasac.html&rct=j&q=macam-macam+sintak+di+c%2B %2B&ei=gUQzS7KlB4yTkAXC29XyCA&usg=AFQjCNFAXLskYaCRgWJzJwmD0ctl7xw RyQ http://nelly_sofi.staff.gunadarma.ac.id/Downloads/files/6220/Pertemuan+1.ppt http://rani_push.staff.gunadarma.ac.id/Downloads/files/4756/bahasa+C%2B%2B.doc http://cnc.stmikbaja.ac.id/index.php?option=com_content&task=view&id=18&Itemid=1 http://baydillah.ngeblogs.com/2009/09/10/java-dan-sejarah-bahasa-c/ http://hamrio.blog.binusian.org/2009/09/27/sejarah-dan-perkembangan-bahasa-cpp/

Anda mungkin juga menyukai