INFO: Source Code dalam bahasa C terdapat di bagian paling bawah pos ini ^_^
Yak, ini postingan pertama saya mengenai program untuk mencari akar-akar persamaan kuadrat. Secara umum, persamaan kuadrat berbentuk ax2 + bx + c. Persamaan kuadrat memiliki 3 jenis akar, yaitu akar imajiner, real kembar, dan real berbeda. Akar yang saya maksudkan di sini adalah (x + a)(x + b), di mana akar pertama (x1) sama dengan a dan akar kedua (x2) sama dengan b. Nah, inilah bekal awal saya dalam membuat program ini pada Pascal.
Yak, ini postingan pertama saya mengenai program untuk mencari akar-akar persamaan kuadrat. Secara umum, persamaan kuadrat berbentuk ax2 + bx + c. Persamaan kuadrat memiliki 3 jenis akar, yaitu akar imajiner, real kembar, dan real berbeda. Akar yang saya maksudkan di sini adalah (x + a)(x + b), di mana akar pertama (x1) sama dengan a dan akar kedua (x2) sama dengan b. Nah, inilah bekal awal saya dalam membuat program ini pada Pascal.
By the way, Pascal itu bagi yang pertama kali mendengarnya (red: membacanya), merupakan bahasa pemrograman tingkat tinggi di samping bahasa C/C++, Java, dll. Berbeda dari bahasa pemrograman lainnya, bahasa Pascal tergolong mudah untuk dipahami karena tidak menggunakan simbol-simbol yang 'ribet' namun memang jadi tidak efisien. Walaupun demikian, bagi pemula saya lebih merekomendasikan pelajari Pascal terlebih dahulu untuk lanjut ke tingkat yang lebih sulit.
Yak, agak ngawur dari topik, daripada kebanyakan tulisan lebih baik saya berikan source code dari program yang saya buat. So check it out bro!
Program Akar2PersKuadar; uses crt; var a, b, c: integer; D, x1, x2: real; begin writeln('PROGRAM MENCARI AKAR DARI PERSAMAAN KUADRAT'); writeln('Bentuk umum persamaan kuadrat ax^2 + bx + c'); writeln(' '); write('Masukkan konstanta untuk variabel a: '); readln(a); write('Masukkan konstanta untuk variabel b: '); readln(b); write('Masukkan konstanta c: '); readln(c); If a = 1 Then begin writeln(' '); writeln('Bentuk persamaan: x^2 + ', b ,'x + ', c); writeln(' '); end Else begin writeln(' '); writeln('Bentuk persamaan: ', a, 'x^2 + ', b ,'x + ', c); writeln(' '); end; D := b*b - 4*a*c; While D<0 do begin writeln(' '); writeln('ERROR: Persamaan yang Anda input menghasilkan akar imajiner'); writeln('Silakan ulangi (tekan enter)'); readln; write('Masukkan konstanta untuk variabel a: '); readln(a); write('Masukkan konstanta untuk variabel b: '); readln(b); write('Masukkan konstanta c: '); readln(c); D := b*b - 4*a*c; end; If D = 0 Then begin x1 := b/2*a; write('Akar dari persamaan yang Anda minta adalah: '); write('Real Kembar bernilai ', x1:0:2); end Else begin x1 := (b - sqrt(D))/2*a; x2 := (b + sqrt(D))/2*a; write('Akar dari persamaan yang Anda minta adalah: '); write('Real berbeda bernilai ', x1:0:2, ' dan ', x2:0:2); end; readln; end.Setelah di-compile, maka inilah hasilnya:
Yak, mungkin masih ada kekurangan dari program yang saya tulis, namun setidaknya berjalan sebagaimana mestinya. Terima kasih sudah membaca posting-an saya, semoga bermanfaat bagi teman-teman sekalian. Masih banyak lagi program-program yang telah saya buat yang belum sempat di-post, ditunggu sajalah. ^_^
UPDATE!
Secara iseng mengisi waktu liburan, saya tidak sengaja membuat versi bahasa C-nya. Secara tampilan tidak ada yang berubah kecuali bahasanya saja. Versi bahasa C ini hanya digunakan sebagai pembanding saja antara bahasa pemrograman yang satu dengan yang lain. So check it out bro!
#include#include int main() { int a; int b; int c; float d; float x1; float x2; printf("PROGRAM MENCARI AKAR DARI PERSAMAAN KUADRAT \n"); printf("Bentuk umum persamaan kuadrat ax^2 + bx + c \n"); printf("\n"); printf("Masukkan konstanta untuk variabel a: "); scanf("%d", &a); printf("Masukkan konstanta untuk variabel b: "); scanf("%d", &b); printf("Masukkan konstanta c: "); scanf("%d", &c); d = b*b - 4*a*c; printf("\n"); while (d<0){ printf("ERROR: Akar Imajiner, silakan ulangi \n"); printf("Masukkan konstanta untuk variabel a: "); scanf("%d", &a); printf("Masukkan konstanta untuk variabel b: "); scanf("%d", &b); printf("Masukkan konstanta c: "); scanf("%d", &c); d = b*b - 4*a*c; printf("\n"); } if (d==0){ x1= b/2*a; printf("Akar dari persamaan yang Anda minta adalah "); printf("real kembar yang bernilai %5.2f \n", x1); } else { x1 = (b-sqrt(d))/2*a; x2 = (b+sqrt(d))/2*a; printf("Akar dari persamaan yang Anda minta adalah "); printf("real berbeda bernilai %5.2f dan %5.2f \n", x1, x2); } return 0; }
Kembali lagi, kali ini saya akan membahas mengenai submatriks lagi. Tidak seperti program sebelumnya, program kali ini dibuat untuk mencari apakah suatu matriks B yang di-input oleh pengguna merupakan submatriks dari matriks A yang juga di-input oleh pengguna. Idenya adalah bagaimana cara membuat program memeriksa semua elemen matriks A dan matriks B dengan mencari nilai-nilai yang sama, namun sesuai dengan urutan tiap-tiap elemen. Contohnya saat di-input-kan dua buah matriks seperti di bawah ini,
maka program akan memeriksa kesamaan elemen aij dengan bkl apakah terdapat empat elemen yang sama yang berurutan. Jika iya, program akan menampilkan bahwa matriks B adalah submatriks dari matriks A.
Berikut ini source code program yang saya modifikasi berdasarkan program yang ditulis dalam bahasa Java yang saya dapatkan di Stackoverflow, program ini dibuat dengan array konstan, atau tidak meminta input dari pengguna, jika ingin diubah bisa saja.:
Jika masih bingung, silakan ditanyakan atau dicoba pahami terlebih dahulu ^_^. Ciao
maka program akan memeriksa kesamaan elemen aij dengan bkl apakah terdapat empat elemen yang sama yang berurutan. Jika iya, program akan menampilkan bahwa matriks B adalah submatriks dari matriks A.
Berikut ini source code program yang saya modifikasi berdasarkan program yang ditulis dalam bahasa Java yang saya dapatkan di Stackoverflow, program ini dibuat dengan array konstan, atau tidak meminta input dari pengguna, jika ingin diubah bisa saja.:
Program cekSubMat; uses crt; const ROWA = 3; COLA = 3; ROWB = 2; COLB = 1; A: Array[0..ROWA, 0..COLA] of Integer = ((2, 3, 5, 7), (5, 8, 3, 2), (7, 6, 2, 7), (3, 8, 5, 3)); B: Array[0..ROWB, 0..COLB] of Integer = ((3, 5), (8, 3), (6, 2)); var i, j, k, l, counter, bar, kol: integer; submatrix, nemu: Boolean; begin writeln('TAMPILAN MATRIKS YANG DIINPUT'); for i := 0 To ROWA do begin for j := 0 to COLA do begin write(A[i, j], ' '); end; writeln(' '); end; writeln(' '); writeln('CONTOH SUBMATRIKS'); for i := 0 To ROWB do begin for j := 0 to COLB do begin write(B[i, j], ' '); end; writeln(' '); end; writeln(' '); for i := 0 to ROWA-ROWB do begin //Pengurangan (ROWA-ROWB) dan (COLA-COLB)dilakukan for j := 0 to COLA-COLB do begin //agar tidak terjadi "out of bound" error counter := 0; for k := 0 to ROWB do begin for l := 0 to COLB do begin if (A[i+k, j+l] = B[k, l]) then begin // Memulai pencarian submatriks counter := counter + 1; // jika ditemukan counter bertambah 1 end else begin counter := 0; // jika setelahnya tidak ditemukan kesamaan end; // counter kembali 0 end; end; if (counter = (ROWB+1)*(COLB+1)) then begin // Jika ditemukan sesuai nemu := TRUE; // dengan kondisi maka bar := i; // submatriks ditemukan kol := j; end; end; end; writeln(' '); writeln('HASIL'); if (nemu) then writeln('Submatriks ditemukan pada elemen (a',bar+1,kol+1,') sampai (a',bar+k+1,kol+l+1,').') else writeln('Sayangnya, submatriks yang Anda input-kan tidak ditemukan.'); readln; end.Hasilnya akan seperti:
Jika masih bingung, silakan ditanyakan atau dicoba pahami terlebih dahulu ^_^. Ciao
Dalam matematika, bilangan prima adalah bilangan asli yang lebih besar dari angka 1, yang faktor pembaginya adalah 1 dan bilangan itu sendiri. 2 dan 3 adalah bilangan prima. 4 bukan bilangan prima karena 4 bisa dibagi 2. Sepuluh bilangan prima yang pertama adalah 2, 3, 5, 7, 11, 13, 17, 19, 23 dan 29.
Jika suatu bilangan yang lebih besar dari satu bukan bilangan prima, maka bilangan itu disebut bilangan komposit. Cara paling sederhana untuk menentukan bilangan prima yang lebih kecil dari bilangan tertentu adalah dengan menggunakan saringan Eratosthenes. [Wikipedia]
Nah, saya akan berikan source code program untuk mencari bilangan prima dari rentang 1...n bilangan bulat. Source code ini saya dapatkan dari sini dan saya konversi menjadi Pascal dengan sedikit perubahan. Berikut ini kodenya:
Saat dijalankan, seperti inilah kira-kira hasilnya:
Jika suatu bilangan yang lebih besar dari satu bukan bilangan prima, maka bilangan itu disebut bilangan komposit. Cara paling sederhana untuk menentukan bilangan prima yang lebih kecil dari bilangan tertentu adalah dengan menggunakan saringan Eratosthenes. [Wikipedia]
Nah, saya akan berikan source code program untuk mencari bilangan prima dari rentang 1...n bilangan bulat. Source code ini saya dapatkan dari sini dan saya konversi menjadi Pascal dengan sedikit perubahan. Berikut ini kodenya:
program bilPrima; uses crt; var n, i, j, pemicu: integer; begin writeln('Program menentukan bilangan prima'); write('Masukkan hingga rentang yang diinginkan: '); readln(n); for i := 1 to n do begin pemicu := 0; for j := 1 to i do begin if (i mod j = 0) then pemicu := pemicu + 1; end; if (pemicu = 2) then write(i, ' '); end; readln; end.
Saat dijalankan, seperti inilah kira-kira hasilnya:
Program menampilkan bilangan prima dari rentang bilangan bulat 1 s.d. 20 |
Nah, kali ini saya ingin menunjukkan situs gratis yang sangat berguna bagi kalian yang ingin mempelajari berbagai metode ngoding dengan interkatif yang sangat mudah untuk dipahami.
Codeacademy.com
Pertama, Codeacademy.com merupakan situs gratis yang menyediakan pembelajaran HTML/CSS, JavaScript, Phyton, PHP, Ruby, dan jQuery dari dasar hingga ke tingkat sulit.
Saya sendiri sudah mencoba belajar mengenai HTML/CSS dan benar saja sangat mudah untuk dipahami karena terdapat instruksi-instruksi yang memandu user dalam menuliskan code-nya.
Berbagai macam bahasa Web yang dapat dipelajari |
Menu HTML & CSS |
Tampilan pembelajaran. DIlengkapi dengan instruksi di sidebar kirinya. |
Studio.code.org
Kedua, Studio.code.org merupakan situs gratis yang menyediakan layanan untuk belajar mengenai programming. Situs ini dapat diakses oleh berbagai kalangan baik anak-anak, remaja, maupun dewasa. Situs ini tidak memusatkan pada "bagaimana cara kita untuk menulis suatu program", namun lebih ke "bagaimana cara kita agar program dapat dijalankan dengan benar". Jadi, user butuh kemampuan logika dan algoritme yang cukup kuat agar bisa menyelesaikan tantangan tersebut.
Setiap tantangan dikemas layaknya suatu permainan. Ada berbagai macam tipe, di antaranya The Hour of Code (segala usia), 20 Jam Kursus untuk Pemula (segala usia), dan lainnya. Sebagai gambaran, saya akan mencoba Flappy Code. Dalam Flappy Code menantang user untuk membuat sebuah permainan layaknya Flappy Bird dengan berbagai macam instruksi yang harus user input-kan.
Tampilan Awal |
Nah, kalian harus men-drag instruksi yang terdapat di tabel blok lalu menaruhnya di area input. Perhatikan bahwa input instruksi yang diberikan harus benar sesuai dengan permainan aslinya. Jika merasa sudah benar, klik tombol Jalankan, kalau berhasil maka lanjut ke level berikutnya dan kalau gagal ulangi lagi.
Dalam matematika, matriks adalah kumpulan bilangan, simbol, atau ekspresi, berbentuk persegi panjang yang disusun menurut baris dan kolom. Bilangan-bilangan yang terdapat di suatu matriks disebut dengan elemen atau anggota matriks (Wikipedia). Matriks biasa digunakan dalam solusi menentukan sistem persamaan linear. Yak tidak usah banyak basa basi biar enggak tl;dr, kali ini saya membuat sebuah program dengan menggunakan bantuan bahasa Pascal yang dapat menghitung perkalian dua buah matriks. Berikut inilah hasilnya:
Berikut hasil saat kita menjalankan programnya:
program perkalian2Matriks; uses crt; const size = 10; var matA: Array[1..size, 1..size] of Integer; matB: Array[1..size, 1..size] of Integer; matC: Array[1..size, 1..size] of Integer; i,j,k,n1,m1,n2,m2,temp: integer; begin repeat writeln('BANYAK KOLOM MATRIKS A HARUS SAMA DENGAN BANYAK BARIS MATRIKS B'); writeln(' '); write('Banyaknya baris matriks A: '); readln(n1); write('Banyaknya kolom matriks A: '); readln(m1); writeln(' '); write('Banyaknya baris matriks B: '); readln(n2); write('Banyaknya kolom matriks B: '); readln(m2); writeln(' '); until (m1 = n2); {menginisiasi elemen matriks A} writeln('Masukkan elemen matriks A: '); For i := 1 To n1 do begin For j := 1 To m1 do begin write('A[',i,',',j,'] = '); readln(matA[i, j]); end; end; writeln(' '); {menginisiasi elemen matriks B} writeln('Masukkan elemen matriks B: '); For i := 1 To n2 do begin For j := 1 To m2 do begin write('B[',i,',',j,'] = '); readln(matB[i, j]); end; end; {menghitung perkalian} For i := 1 To n1 do begin For j := 1 To m2 do begin temp := 0 ; For k := 1 To n2 do begin matC[i, j] := temp + matA[i, k]*matB[k, j]; temp := matC[i, j]; end; end; end; {menampilkan hasil} writeln(' '); writeln('HASILNYA: '); For i := 1 To n1 do begin For j := 1 To m2 do begin write(matC[i, j], ' '); end; writeln(' '); end; readln; end.
Berikut hasil saat kita menjalankan programnya: