Langsung ke konten utama

C, C++ dan Java



BAHASA PEMROGRAMAN C




1.5.     Perkembaangan C
Bahasa C dirancang oleh Dennis M. Ritchie pada tahun 1972 dan dituangkan pada 'C Reference Manual' yang diterbitkan oleh Bell Laboratories tahun 1974. Bahasa C merupakan perkembangan dari BPCL (Basic Combined Programing Language) yang dibuat oleh Dr. Martin Richard dari Cambridge University di Inggris, kemudian dikembangkan oleh Ken Thompson menjadi bahasa yang disebut dengan B. Dennis M. Ritchie tertarik oleh interpreter bahasa B yang ditulis oleh Ken Thompson tersebut dan mengembangkannya menjadi suatu compiler yang disebut dengan C. Nama C ini dipilih karena merupakan urutan selanjutnya dari B pada alphabetik. Definisi dari bahasa C dikeluarkan tahun 1979 dalam buku 'The C Programing Language' oleh Brian Kerninghan dan Dennis M. Ritchie. Sejak saat itu masyarakat mulai mengenal adanya suatu bahasa yang baik yaitu C. Hingga sekarang puluhan versi dari compiler C untuk komputer 8 bit yang telah dikembangkan.
Perkembangan bahasa C di komputer mikro dimulai tahun 1978 yaitu Tiny-C yang ditulis oleh Tom Gibson. Seperti versi C sebelumnya, tiny-c ditulis bukan untuk tujuan komersial tetapi dipergunakan oleh Tom Gibson untuk mengajar anaknya mengenai bahasa C. Tom Gibson menyadari nilai komersial dari usahanya dan mulai emasarkan produknya. Tetangga Tom Gibson yaitu George Eberhart (penulis dari bahasa CI-C86) menulsi compiler tiny-c tersebut. Tiny-c kemudian banyak dikembangkan versi bahasa C lainnya, yaitu; Small-C, C-80, QC, CW/C dan banyak lainnya.
Jenis bahasa C lain yang ditulis untuk komputer mikro adalah BD System C (BDS C). Compiler dari BDS C merupakan hasil dari kerja Leor Zolman. Sewaktu dia berumur 17 tahun Leor Zolman menulis suatu permainan othello di sistem operasi UNIX. Pertama kali program othello dijalankan kurang sempurna, kemudian Leor Zolman menulis bagian dari bahasa C untuk menunjang program othello tersebut. Setelah mencoba compiler C tersebut Leor Zolman menyadari produknya dapat dipasarkan, yaitu kemudian banyak dipergunakan pada komputer mikro. Sehingga mulai banyak ditulis versi lain Bahasa C yang didasarkan pada BDS C. versi-versi C yang paling populer dan banyak digunakan untuk komputer mikro adalah MS-C (Microsoft C) dan Turbo C.



Sampai tahun 1982 sistem operasi CP/M dan MP/M merupakan sistem operasi yang dominan pada komputer mikro. Mulai awal tahun 1983 sistem operasi yang mulai banyak dipergunakan oleh komputer mikro adalah MS/DOS dan bahasa C juga banyak dijalankan dengan sistem operasi ini. Jadi untuk mikro komputer, sistem operasi yang dapat menjalankan bahasa C adalah CP/M dan MP/m, MS-DOS dan PC-DOS serta UNIX.

1.6.     Kemampuan C
Bahasa C mempunyai kemampuan lebih dari bahasa pemrograman yang lain. Bahasa C merupakan bahasa yang sifatnya portable, yaitu dengan sedikit (tanpa perubahan) satu program yang ditulis dengan bahasa C pada suatu sistem komputer dapat dijalankan pada komputer lain.
Keunggulan lain C adalah kecepatan prosesnya. Apabila kita belum pernah menggunakan compiler, melainkan sering mempergunakan BASIC maka akan terkejut. Sebagai perbandingan program yang ditulis dengan bahasa C akan lebih cepat kira-kira 50 kali bila dijalankan dibandingkan dengan program BASIC. Kebaikan bahasa C yang lain adalah program yang ditulis terstuktur dengan baik sehingga akan baik untuk dokumentasi. Dengan program yang terstruktur, apabila program ingin dimodifikasi atau dikoreksiakan lebih mudah.
Dengan tersedianya beberapa pustaka (library) dari C memungkinkan seorang programer mengembangkan programnya lebih luas tanpa harus menulis dari keseluruhan programnya. Sebagai contoh bila ingin membuat suatu window di layar, bagian program dari window ini sudah tersedia (ada librarynya), tinggal menggunakannnya. Bahasa C banyak dipergunakan oleh orang-orang profesional dalam menulis program-program paket, karena C hampir tidak menimbulkan hambatan yang berarti, sehingga akhirnya perusahaan software banyak yang menulis library untuk maksud-maksud tertentu.
Salah satu hal yang membuat C terkenal adalah bahwa sistem operasi UNIX sebenarnya ditulis dengan bahasa C, demikian pula dengan sistem operasi MicroShell, Paket DBMS Fox-Base kenyataannya juga ditulis dengan menggunakan bahasa C.

1.7.     Struktur Program C
Salah satu konsep yang penting dalam bahasa komputer adalah struktur. Struktur merupakan suatu bentuk susunan dari suatu program yang dibuat.
Program C merupakan program yang berbentuk fungsi-fungsi. Main() adalah merupakan nama dari suatu fungsi yang harus selalu ada di program C dan diletakkan pada bagian tertentu yang menunjukkan kepada compiler dimana awal dari program. Selain itu main() ini hanya dapat digunakan sekali saja dalam suatu program atau dapat juga dikatakan setiap program C harus mengandung fungsi main() agar dapat diproses. Sehingga suatu program yang tidak mengandung main() tidak dapat diproses.
Tanda brace pembuka “{“ yang diletakkan di bawah fungsi main () menunjukkan tanda awal dari perintah-perintah yang akan ditulis atau tanda “{“ merupakan awal dari function body (function block). Tanda brace penutup “}” menunjukkan akhir dari suatu function body (tubuh fungsi). Suatu program C dapat terdiri lebih dari satu tubuh fungsi. Suatu tubuh fungsi dapat berisi beberapa fungsi, sedangkan suatu fungsi dapat dibuat dari satu atau lebih statement atau library function (fungsi pustaka) yang sudah tersedia.

1.8.     Penulisan Program.
Program C tidak mengenal aturan penulisan di kolom yang tertentu. Penulisan yanhg menjorok masuk beberapa kolom hanya dimaksudkan supaya enak dan mudah untuk dibaca.


BAHASA PEMROGRAMAN C++





Dalam bahasa pemrograman berorientasi objek, para programmer tidaklah membuat ‎prosedur, tetapi mereka membuat kelas (class), dan dari kelas-kelas tersebut muncullah objek ‎‎(object), yang dapat berupa kode saja, data saja atau kombinasi dari kode dan data. Daripada ‎membuat prosedur-prosedur yang dikhususkan untuk bekerja dengan data, “data” dalam bahasa ‎pemrograman berorientasi objek memiliki perangkat untuk bekerja dengan dirinya sendiri, ‎sehingga dapat dikatakan data bisa memproses dirinya sendiri. Perubahan perspektif ini ‎membawa angin segar bagi para pemrogram, karena menulis satu buah kode yang dapat ‎digunakan dalam beberapa tugas pemrograman telah menjadi lebih mudah.‎
Akhirnya, beberapa programmer pun mencoba untuk menciptakan sebuah versi bahasa ‎C yang mendukung konsep bahasa pemrograman berorientasi objek. Dan, satu-satunya yang ‎sangat populer dari usaha mereka, lagi-lagi, adalah bahasa pemrograman yang dikembangkan di ‎Bell Laboratories pada tahun 1982 oleh Bjarne Stoustrup. Bahasa yang dikembangkannya kini ‎dikenal dengan bahasa C++ (dibaca C plus-plus), di mana nama tersebut merupakan “pelesetan”, ‎karena dalam bahasa C dan turunannya dua buah tanda plus akan menambahkan 1 ke dalam ‎sebuah angka atau variabel. Akan tetapi, C++ juga memiliki masalahnya sendiri. Dalam teorinya, ‎C++ adalah bahasa C yang ditambahi dukungan konsep “berorientasi objek”, sehingga C++ ‎tidaklah menggantikan bahasa C.
Teknik pengkompilasian pada C dan C++ menggunakan teknik kompilasi tradisional sehingga program yang dibuat dengan bahasa C atau C++ tidak bersifat multiplatform.


BAHASA PEMROGRAMAN JAVA





3.6.     Sejarah Singkat Java
               Pada 1991, sekelompok insinyur Sub dipinpin oleh Patrick Naughton dan James Goslin ingin merancang bahasa komputer untuk perangkat konsumer seperti cable TV Box. Karena perangkat tersebut tidak memiliki banyak memori, bahasa harus berukuran kecil dan mengandung kode yang liat. Juga karena manufaktur-manufaktur berbeda memilih prosesor yang berbeda pula, maka bahasa harus bebas dari manufaktur manapun. Proyek diberi nama kode “Green”.
               Kebutuhan untuk fleksibilitas, kecil, liat dan kode yang netral terhadap platform mengantar tim mempelajarai implementasi Pascal yang pernah dicoba. Niklaus Wirth pencipta bahasa Pascal telah merancang bahasa portable yang menghasilkan intermediate code untuk mesin hipotesis. Mesin ini sering disebut dengan mesin maya (Virtual Machine). Kode ini kemudian dapat digunakan disembarang mesin yang memiliki interpreter. Proyek Green menggunakan mesin maya untuk mengatasi isu utama tentang netral terhadap arsitektur mesin.
               Karena orang-orang di proyek Green berbasis C++ dan bukan Pascal maka kebanyakan sintaks diambil dari C++, serta mengadopsi orientasi objek dan bukan prosedural. Mulanya bahasa yang diciptakan diberi nama “Oak” oleh James Gosling yang mendapat inspirasi dari sebuah pohon yang berada pada seberang kantornya, namun dikarenakan nama Oak sendiri merupakan nama bahasa pemrograman yang telah ada sebelumnya, kemudian SUN menggantinya dengan JAVA. Nama Java sendiri terinspirasi pada saat mereka sedang menikmati secangkir kopi di sebuah kedai kopi yang kemudian dengan tidak sengaja salah satu dari mereka menyebutkan kata Java yang mengandung arti sal bijih kopi. Akhirnya mereka sepakat untuk memberikan nama bahasa programan tersebut dengan nama Java.
               Produk pertama proyek Green adalah Star 7 (*7) sebuah kendali jarak jauh yang sangat cerdas. Dikarenakan pasar masih belum tertarik dengan produk konsumer cerdas, maka proyek Green harus menemukan pasar lain dari tekhnologi yang diciptakan. Pada saat yang sama, implementasi WWW dan Internet sedang mengalami perkembangan pesat. Di lain pihak, anggota proyek Green juga menyadari bahwa Java dapat digunakan pada pemrograman Internet, sehingga penerapan selanjutnya mengarah menjadi tekhnologi yang berperan di web.
               Java telah mengakomodasi hampir seluruh fitur penting bahasa-bahasa pemrograman yang ada semenjak perkembangan komputasi modern manusia :
1.        Dari SIMULA, bahasa pada tahun 65-an, bahasa yang paling memepengaruhi Java sekaligus C++. Dari bahasa ini diadopsi bentukan-bentukan dasar dari pemrograman berorientasi objek.
2.        Dari LISP – bahasa tahun 55-an. Diadopsi fasilitas gerbage collection, serta kemampuan untuk meniru generic list processing, meski fasilitas ini jarang yang memanfaatkannya.
3.    Dari Algol – bahasa pada tahun 60-an, diambil struktur kendali yang dimilikinya.
4.    Dari C++, diadopsi sintaks, sebagian semantiks dan exception handling.
5.        Dari bahasa Ada, diambil strongly type, dan exception handling.
6.        Dari Objective C, diambil fasilitas interface.
7.        Dari bahasa SmallTalk, diambil pendekatan single-root class hierarchie, dimana objek adalah sati kesatuan hirarki pewarisan.
8.        Dari bahasa Eiffel, fasilitas assertion yang mulai diterapkan di sebagian JDK 1.4

3.7.     Teknologi Java
a.       Sebuah Bahasa Pemrograman
Sebagai sebuah bahasa pemrograman, java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain.
Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya terfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi dan bersifat open source.
b.      Sebuah Development Environment
Sebagai sebuah peralatan pembangun, teknologi Java menyediakan banyak tools , diantaranya adalah :
-         Compiler
-         Interpreter
-         Penyusun dokumentasi
-         Paket kelas dan sebagainya
c.         Sebuah Aplikasi
Aplikasi dengan teknologi Java secara umum adalah aplikasi serba guna yang dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE).
d.        Sebuah Deployment Environment
Terdapat dua komponen utama dari Deployment Environtment. Yang pertama adalah JRE, yang terdapat pada paket J2SDK, mengandung kelas-kelas untuk semua pakt teknologi Java yang meliputi kelas dasar dari Java, komponen GUI dan sebagainya. Komponen yang lain terdapat pada Web Browser. Hampir seluruh Web Browser komersial menyediakan interpreter dan runtime environment dari teknologi Java.

3.8.     Karakteristik Java
Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik berikut :
a.    Sederhana (Simple)
Bahasa pemrograman Java menggunakan sintaks mirip dengan C++ namun sintak pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan outomatic memory allocation dan memory gerbage collection.
b.    Berorientasi Objek (Objek Oriented)
Java menggunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut.
c.    Terdistribusi (Distributed)
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya lebraries networking yang terintegrasi pada Java.
d.   Interpreted
Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java Bytecodes dapat dijalankan pada platform yang berbeda.
e.    Robust
Java mempunyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman.
f.     Secure
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.
g.    Architecture Neutral
Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual Machine.
h.    Portable
Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.
i.      Performance
Performance pada Java sering dikatakan kurang tinggi. Namun performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT).
j.      Multithreaded
Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.
k.    Dynamic
Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa mengganggu program yang menggunakan class tersebut.

3.9.     Sebagian Fitur dari Java
a.    Java Virtual Machine (JVM)
JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inikah yang membuat aplikasi berbasis Java menjadi bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM.
Aplikasi program Java diciptakan dengan file teks berekstensi .java. Program ini dikompilasi menghasilkan satu berkas bytecode berekstensi .class atau lebih. Bytecode adalah serangkaian instruksi serupa instruksi kode mesin. Perbedaannya adalah kode mesin harus dijalankan pada sistem komputer dimana kompilasi ditujukan, sementara bytecode berjalan pada java interpreter yang tersedia di semua platform sistem komputer dan sistem operasi.
b.    Gerbage Collection
Banyak bahasa pemrograman lain yang mengijinkan seorang programer mengalokasikan memori pada saat dijalankan. Namun, setelah menggunakan alokasi memori tersebut, harus terdapat cara untuk menempatkan kembali blok memori tersebut supaya program lain dapat menggunakannya. Dalam C, C++ dan bahasa lainnya, adalah programer yang mutlak bertanggung jawab akan hal ini. Hal ini dapat menyulitkan bilamana programer tersebut lupa untuk mengembalikan blok memori sehingga menyebabkan situasi yang dikenal dengan nama memori leaks.
Program Java melakukan gerbage collection yang berarti program tidak perlu menghapus sendiri objek-objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh programer dan mengurangi atau mengeliminasi sumber kesalahan terbesat yang terdapat pada bahasa yang memungkinkan alokasi dinamis.
c.    Code Security
Code Security terimplementasi pada Java melalui penggunaan Java Runtime Environment (JRE). Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari untrusted Java Code.
1.    Class-loader menangani pemuatan kelas Java ke runtime interpreter. Proses ini menyediakan pengamanan dengan memisahkan kelas-kelas yang berasal dari local disk dengan kelas-kelas yang diambil dari jaringan. Hal ini membatasi aplikasi Trojan karena kelas-kelas yang berasal dari local disk yang dimuat terlebih dahulu.
2.    Bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan-aturan dasar bahasa Java.
3.    Manajemen keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem windowing.
Setelah seluruh proses tersebut selesai dijalankan, barulah kode program di eksekusi.
Java juga menyediakan beragam teknik pengamanan lain :
1.    Bahasa dirancang untuk mempersulit eksekusi kode perusak. Peniadaan pointer merupakan langkah besar pengamanan. Java tidak mengenal operasi pointer. Di tangan programer handal, operasi pointer merupakan hal yang luar biasa untuk optimasi dan pembuatan program yang efisien serta mengagumkan. Namun, mode ini dapat menjadi petaka di hadapan pemrogram jahat. Pointer merupakan sarana luar biasa untuk pengaksesan tak diotorisasi. Dengan peniadaan operasi pointer, Java dapat menjadi bahasa yang lebih aman.
2.    Java memiliki beberapa pengaman terhadap applet. Untuk mencegah program bertindak mengganggu media penyimpanan, maka applet tidak diperbolehkan melakukan open, read ataupun write terhadap berkas secara sembarangan. Karena Java Applet dapat membuka jendela browser yang baru, maka jendela mempunyai logo Java dan teks identifikasi terhadap jendela yang dibuka. Hal ini mencegah jendela pop-up menipu sebagai permintaan keterangan username dan password.

3.10. Fase-fase Pemrograman Java
Lingkungan pemrograman pada Java menggunakan compiler sekaligus interpreter agar dapat berjalan pada platform yang berbeda. Java compiler melakukan kompilasi pada source code menjadi java bytecodes. Java bytecode yang merupakan instruksi mesin yang tidak spesifik terhadap processor pada sistem komputer akan dijalankan pada platform menggunakan Java Virtual Machine (JVM) yang disebut juga bytecode interpreter atau Java runtime Interpreter.



PERBEDAAN C, C++ & JAVA

Bahasa C terkesan lebih rumit, namun program-program yang ditulis dalam bahasa C ‎seringnya lebih efisien dibandingkan dengan bahasa pemrograman lainnya, yang artinya program-‎program dalam bahasa C diterjemahkan ke dalam machine code dalam jumlah yang relatif lebih sedikit ‎jika dibandingkan dengan program yang ditulis dalam bahasa pemrograman lainnya.
Bahasa C memiliki “pointer“, selain tentunya “variabel” ‎dan “konstanta”. Istilah Pointer dalam bahasa pemrograman merujuk kepada alamat-alamat memori yang ‎mengizinkan para programmer untuk melakukan beberapa tugas secara jauh lebih efisien, dengan ‎melibatkan bit, byte, dan word memori. Karenanya, banyak orang menyebut bahasa C sebagai “High-level ‎Assembly language, atau bahasa rakitan tingkat tinggi.‎ Berbeda dengan Java yang tidak menggunakan pointer dan operator.
sebuah program bahasa C terdiri atas ‎banyak prosedur (juga sering disebut sebagai fungsi/function atau subrutin/subroutine), yang ‎setiap prosedur tersebut merupakan bagian dari kode yang melakukan beberapa tugas tertentu ‎atau merupakan implementasi dari algoritma tertentu.
Java dikenal sangat aman yaitu pada kasus-kasus seperti buffer overflow yang umumnya menjadi lubang keamanan aplikasi-aplikasi bebasis C/C++ tidak terjadi di Java, karena pengaturan keamanannya yang bagus. Namun di Java Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++.
Teknik pengkompilasian menggunakan teknik kompilasi yang dibuat khusus oleh Java sehingga program java bersifat multiplatform


Komentar

Postingan populer dari blog ini

Pengujian Perangkat Lunak

Pengujian perangkat lunak merupakan suatu investigasi yang dilakukan untuk mendapatkan informasi mengenai kualitas dari produk atau layanan yang sedang diuji. Pengujian perangkat lunak juga memberikan pandangan mengenai perangkat lunak secara obyektif dan independen, yang bermanfaat dalam operasional bisnis untuk memahami tingkat risiko pada implementasinya. Teknik-teknik pengujian mencakup, namun tidak terbatas pada, proses mengeksekusi suatu bagian program atau keseluruhan aplikasi dengan tujuan untuk menemukan “ bug ” perangkat lunak. Bug merupakan suatu kesalahan desain pada suatu perangkat keras komputer atau perangkat lunak komputer yang menyebabkan peralatan atau program itu tidak berfungsi semestinya. Bug umumnya lebih umum dalam dunia perangkat lunak dibandingkan dengan perangkat keras. Pengujian perangkat lunak merupakan suatu tahapan penting dalam pembangunan perangkat lunak. Pengujian dilakukan dengan cara mengevaluasi konfigurasi perangkat lunak yang terdiri dari s...

Alur Pembuatan Program

Seorang programmer tidak melakukan pembuatan dan pengkodean program secara begitu saja, namun mengikuti perencanaan  dan metodologi yang terstruktur yang memisahkan proses suatu aplikasi menjadi beberapa bagian. Berikut ini langkah – langkah sistematis  dasar dalam menyelesaikan permasalahan pemrograman : 1.  Mendefiniskan masalah 2.  Menganalisa dan membuat rumusan pemecahan masalah 3.  Desain Algoritma dan Representasi 4.  Pengkodean, Uji Coba dan pembuatan dokumentasi

Ruby on Rails - Sebuah Ringkasan

David Heinemeier Hansson menciptakan Ruby on Rails dengan prinsip Convention over Configuration, yaitu kerangka kerja yang meminimalkan kebutuhan konfigurasi rumit. Rails dirancang dengan konvensi bawaan yang kuat sehingga memudahkan pengembangan dan perubahan aplikasi. Rails bersifat open source dan dibangun dengan bahasa pemrograman Ruby, yang terkenal sederhana dan ekspresif. Rails memungkinkan pengembangan cepat, misalnya menambahkan resource baru melalui RESTful routes dan tampilan templated dengan mudah. Rails memiliki komunitas besar dan berpengalaman, sehingga solusi mudah ditemukan melalui Stack Overflow, GitHub issues, blog, tutorial, maupun buku. Dengan dukungan tersebut, masalah biasanya bisa cepat teratasi hanya dengan pencarian di Google. Rails Conventions Rails menggunakan pola MVC (Model-View-Controller) untuk mengatur arsitektur aplikasi. Model Berhubungan langsung dengan database melalui ActiveRecord ORM . ...