GNU/Linux >> Belajar Linux >  >> Linux

Cara:Pengantar Pemrograman- Program Pertama Anda

Seri Petunjuk

Ini adalah bagian 2 dari seri 5 bagian untuk Pengenalan Pemrograman

  1. Pengantar Pemrograman:Memulai
  2. Pengantar Pemrograman:Program Pertama Anda
  3. Pengantar Pemrograman:Variabel, Jenis, Dan Memanipulasi Data
  4. Pengantar Pemrograman:Kontrol Aliran
  5. Pengantar Pemrograman:Pemrograman Berorientasi Objek

Anda Kembali!

Senang bertemu Anda lagi, dan saya harap Anda telah merayakannya secara mendalam setelah menyelesaikan artikel pertama dalam seri ini di Atlantic.NET di mana Anda membangun program pertama Anda dan menjalankannya sambil belajar tentang bagaimana apa yang Anda bangun berubah dari kode yang dapat dibaca manusia menjadi mesin petunjuk.

Jangan khawatir, jika Anda belum membaca artikel itu, Anda bisa melakukannya sekarang. Aku akan menunggumu di sini untuk kembali.

Di bagian seri ini, kita akan mengeksplorasi program pertama itu lebih banyak dan fokus untuk memahami lebih banyak konsep pemrograman dan pengembangan perangkat lunak. Secara khusus, kita akan melihat input dan output, memperkenalkan konsep yang disebut orientasi objek , dan jelajahi bagaimana dan mengapa kami ingin menyembunyikan kode kompleks menggunakan abstraksi .

Mari kita mulai bisnis, ya?
.

Menggali “Halo Dunia!”

Di artikel sebelumnya, kami membuat "Halo Dunia!" yang sangat mendasar! program yang terdiri dari dua baris kode yang kita tulis sendiri. Ada baris kode tambahan, tetapi Visual Studio membuatnya untuk kita, dan itu khusus untuk jenis program yang kita buat dan bahasa yang kita gunakan, jadi mari kita tidak menghabiskan lebih banyak waktu untuk itu untuk saat ini.

Namun, dua baris yang kami tambahkan berfokus secara khusus pada keluaran dan masukan, jadi mari kita periksa lebih dekat.

Console.WriteLine("Hello World!");
Console.ReadLine();

Mengabaikan Console. (baca:"titik konsol") bagian dari baris untuk saat ini, Anda dapat melihat bahwa ada instruksi ke mesin untuk menulis baris dan kemudian membaca baris. Dalam program atau aplikasi konsol seperti yang sedang kita buat sekarang, ini adalah dua cara utama untuk berinteraksi dengan pengguna; kita menampilkan sesuatu di layar konsol dengan Console.WriteLine dan dapatkan masukan dari pengguna dengan Console.Readline . Hasilnya terlihat seperti Gambar 1 di bawah ini.

Gambar 1:Keluaran konsol

Aplikasi konsol ini hanyalah salah satu dari banyak jenis aplikasi yang dapat kita bangun. Jenis aplikasi yang berbeda memerlukan pendekatan yang berbeda untuk input dan output. Jika kita sedang membangun halaman web sederhana, misalnya, tidak ada konsol dari mana kita dapat berinteraksi dengan pengguna. Halaman web hanyalah sepotong teks statis dan mungkin beberapa gambar. Meskipun sebuah program dapat menghasilkannya, itu masih tidak terlalu interaktif dengan cara yang sama seperti kita membangun interaktivitas dalam aplikasi konsol.

Catatan:Pada masa-masa awal web, ada metode yang disebut CGI (Common Gateway Interface) yang memungkinkan Anda menempatkan aplikasi konsol seperti ini langsung ke halaman web dan berinteraksi dengannya melalui URL.

.

Contoh Kode Halaman Web

Halaman web memiliki metode perilaku interaktif yang sama sekali berbeda. Lihat kode halaman web berikut, misalnya–dan jangan khawatir jika ini benar-benar asing bagi Anda:

<html>
<head>
<title>Hello World!</title>
</head>
<body>
<h1>Hello world!</h1>
</body>
</html>

Halaman web ini hanya menyajikan pengguna dengan judul yang mengatakan "Halo dunia!" dan tidak banyak lagi, seperti di bawah ini.

Gambar 2:Halaman web Hello World

Sendiri, halaman web ini – atau bahkan halaman web mana pun – tidak dapat berbuat banyak. Untuk membuat interaktivitas, browser dapat menginterpretasikan instruksi perintah melalui bahasa seperti JavaScript untuk memanipulasi halaman web dengan berbagai cara, termasuk memanipulasi tata letak, konten, dan struktur halaman web.

Misalnya, di bawah pada Gambar 3, saya menggunakan JavaScript pada halaman HTML untuk menampilkan kotak pemberitahuan kepada pengguna. Perhatikan bahwa saya menggunakan Visual Studio untuk mengedit halaman HTML dan JavaScript juga.

Gambar 3:Peringatan JavaScript di halaman Hello World

Salah satu cara halaman web dapat mengambil informasi dari pengguna adalah melalui formulir halaman web. Ini mungkin tidak terlihat seperti bentuk kertas biasa, tetapi itulah keindahan web; itu tidak perlu membosankan dan gila, itu bisa terlihat memukau dan memikat (meskipun konfigurasi yang diperlukan untuk mencapai tampilan yang memukau dan memikat berada di luar jangkauan kami di sini!).

Terlepas dari penampilannya, formulir dapat mengambil informasi tertentu dari pengguna yang kemudian dapat dikirim oleh browser ke suatu tempat. Jika kita memiliki, misalnya, sebuah program di suatu tempat yang dapat membaca input dari halaman web, kita dapat meminta browser mengirimkan isi formulir ke program tersebut.
.

Pemrograman Berbasis Peristiwa

Pendekatan lain adalah dengan menggunakan data formulir yang dikombinasikan dengan JavaScript agar halaman web itu sendiri menangani data dari pengguna. Daripada membuat JavaScript selalu menampilkan Hello World, misalnya, kita dapat dengan mudah membuatnya menampilkan input pengguna ke dalam formulir.

Gambar 4:Peringatan JavaScript Dinamis

Jangan terlalu khawatir tentang kode di sini, tetapi perhatikan bahwa tidak seperti aplikasi konsol kami di mana alur program umumnya baris demi baris dari awal hingga akhir, di halaman web ini kami menggunakan apa yang dikenal sebagai event- pemrograman yang digerakkan , dengan meminta kode merespons peristiwa yang terjadi. Pada contoh di atas, event onblur terjadi ketika perhatian beralih dari kotak input, dan kita dapat menulis kode untuk bereaksi terhadap peristiwa itu dan menampilkan peringatan.

Terlepas dari itu, Anda akan segera mengenali pola tertentu di sini yang melintasi batas platform, bahasa, dan kerangka kerja. Program dimulai dengan menyajikan pengguna dengan sepotong informasi, dan kemudian pengguna entah bagaimana mengirimkan instruksi ke program. Dalam aplikasi konsol, pertukaran ini terjadi melalui perintah seperti Console.WriteLine dan Console.ReadLine . Di web, pertukaran ini terjadi dengan menghadirkan halaman HTML dan meminta pengguna untuk mengisi formulir.

Sebagai seorang programmer, Anda akan belajar dengan cepat bahwa apa yang Anda lakukan sebagai seorang programmer sangat mirip di semua bahasa, platform, dan alat. Sintaksnya mungkin berbeda antara bahasa, dan Anda mungkin memiliki pendekatan yang berbeda tentang cara Anda berpikir dalam hal aliran program, tetapi di balik itu semua, komputer yang Anda perintahkan adalah sama. Ini tunduk pada logika yang sama terlepas dari bahasa mana yang Anda gunakan untuk memanipulasinya.

Setelah Anda menyadarinya, Anda mungkin memiliki Matriks saat, di mana Anda melihat di luar kode dan ke dalam mesin serta logika di baliknya dan tiba-tiba memahami sepenuhnya cara memerintahkan mesin dengan cara apa pun yang Anda suka, menggunakan bahasa apa pun, platform apa pun, dan alat apa pun.

Namun, sebelum itu, ada banyak yang harus dipelajari. Mari kita kembali ke program kita sebentar karena ada beberapa hal tambahan yang ingin saya tunjukkan kepada Anda.
.

Kelas, Objek, dan Metode– Astaga!

Kita akan mulai dengan bagian “Titik konsol” dari dua baris.

Console.WriteLine("Hello World!");

Console bagian adalah referensi ke kelas statis yang disertakan sebagai bagian dari ruang nama Sistem dan….

Oh, tunggu… Itu masih belum masuk akal. Saya perlu berbicara sedikit tentang kelas dan objek terlebih dahulu. Saya mungkin harus berbicara banyak tentang kelas dan objek , tetapi untuk saat ini, mari kita fokus pada pemahaman dasar tentang apa itu orientasi objek karena orientasi objek lazim di seluruh bahasa pemrograman.

Orientasi objek adalah ide pemrograman bahwa Anda harus membangun representasi terprogram dari objek kehidupan nyata dan kemudian berinteraksi dengan objek tersebut seolah-olah mereka adalah benda nyata. Definisi ini tidak terlalu akurat, tetapi cukup membantu kita untuk saat ini.

Terutama, kami menyelesaikan interaksi ini dengan objek melalui dua jenis komponen yang disebut properti dan metode . Berita bagus? Anda sudah menggunakan salah satunya:metode. Dalam program kami di sini, WriteLine dan ReadLine perintah adalah metode. Properti, yang tidak akan kita bahas dalam artikel ini, menjelaskan apa itu objek, sedangkan metode menjelaskan apa yang bisa dilakukan objek.

Metode dalam orientasi objek dilampirkan ke objek atau, dalam beberapa kasus, ke kelas. Kita akan belajar lebih banyak tentang metode nanti dalam seri ini, tetapi untuk saat ini, pikirkan metode sebagai tindakan yang dapat dilakukan objek.

Selanjutnya, Anda dapat memikirkan perbedaan antara kelas dan objek sebagai perbedaan antara resep kue dan kue, dengan resep menjadi kelas dan kue menjadi objek. Kelas mendefinisikan cara Anda membuat objek, sama seperti resep mendefinisikan cara Anda membuat kue.

Agak tidak berguna untuk memiliki resep tetapi tidak pernah membuat apa pun darinya. Kue, di sisi lain, tidak bisa ada tanpa resep. Dengan demikian, kelas dan objek, seperti resep dan kue, ada secara bersamaan.

Di mana analogi ini menjadi sedikit lebih rumit adalah ketika kita berbicara tentang apa yang kita sebut kelas statis . Kelas-kelas ini, atau resep-resep, bersifat statis karena mereka ada sebagai hal-hal aktual. Bahkan, Anda bahkan tidak dapat membuat objek darinya; mereka ada sebagai resep saja dan hanya memiliki metode statis. Untuk memperumit masalah lebih jauh, kita dapat memiliki metode statis di kelas reguler! Bingung belum? Nah, ingat Douglas Adams:

Jangan panik!

.
Dalam analogi kue kami, metode statis untuk resep mungkin sesuatu yang tidak terkait dengan kue itu sendiri tetapi juga tidak harus dengan resepnya. Misalnya, Anda dapat melampirkan resep metode statis yang disebut PointMeToTheKitchen itu akan–saya yakin Anda bisa menebak–memberi Anda petunjuk arah ke dapur. Kue dapat dipanggang di dapur mana pun, dan resepnya tidak bergantung pada pembuatan kue di dapur tertentu.

Agar adil, situasi yang lebih baik – namun lebih kompleks – adalah jika Anda memiliki kelas statis yang disebut Baking yang menangani semua hal yang diperlukan terkait dengan memanggang dengan sekelompok metode statis, dan bahwa PointMeToTheKitchen metode mungkin akan lebih cocok di sana. Faktanya, kami memiliki penggunaan yang sama dengan program kami saat ini.

Jadi, untuk mengulangi:
* Anda menggunakan kelas untuk membuat objek seperti Anda menggunakan resep untuk membuat kue.
* Objek memiliki metode dan properti yang menentukan apa yang dapat mereka lakukan dan apa fungsinya masing-masing.
* Kelas dapat memiliki metode statis yang ada di luar objek apa pun.
* Kelas statis ada di luar segalanya dan ada sendiri. Anda tidak dapat menggunakannya untuk membuat objek.

Kami akan menghabiskan lebih banyak waktu dengan orientasi objek menjelang akhir seri. Untuk saat ini, ketika saya ulangi bahwa Console bagian dari dua baris kami adalah kelas statis, Anda tahu bahwa itu adalah kelas yang ada independen dari objek apa pun dan juga berisi metode statis.
.

Menghilangkan Detailnya

Lihat baris kami lagi:

Console.WriteLine("Hello World!");
Console.ReadLine();

Console adalah kelas statis. Tujuan utamanya adalah untuk memberi Anda akses ke apa yang Anda butuhkan untuk menangani konsol seperti Baking class akan digunakan untuk memberi Anda akses ke alat memanggang.

Ketika kita menulis sebuah titik dalam C# dan banyak bahasa yang serupa, kita memanggil metode tersebut, yang ditandai dengan tanda kurung berikut, atau sebuah properti. Secara efektif, kami mengatakan, “Hei, kelas Konsol, izinkan saya menjalankan WriteLine Anda metode, silakan”.

Catatan:Beberapa bahasa mungkin menggunakan notasi yang berbeda untuk ini. Misalnya dalam C++, Anda dapat menggunakan -> bukannya titik dalam konteks tertentu, dan Perl 5 menggunakan -> secara konsisten.

.
Di balik layar, Console kelas kemudian akan, menggunakan parameter yang kami berikan (string teks literal "Hello World!"), memanggil ke jendela konsol saat ini, melakukan beberapa voodoo rahasia, dan membuat jendela konsol itu mencetak teks yang kami kirimkan, secara harfiah "Halo Dunia! ”.

Di baris berikutnya, kita memanggil kelas statis yang sama Console lagi, dan kali ini kami memintanya untuk memanggil ReadLine metode. Sebagai gantinya, program akan menginstruksikan konsol untuk menunggu sampai kita menekan tombol Enter kunci sebelum maju dalam program. Dalam kasus kami, input ini akan menyelesaikan program dan keluar begitu saja.

Kita bisa masuk ke detail rumit tentang cara kerja konsol, tetapi itu tidak terlalu relevan pada saat ini. Ingat, kita di sini bukan untuk belajar pemrograman konsol lebih dari kita di sini untuk belajar C#; kami sedang mempelajari konsep pemrograman. Karena itu, saya menyebutnya "voodoo rahasia"–walaupun tentu saja tidak–hanya karena itu cukup maju bagi kita dalam konteks ini sehingga mungkin juga ajaib.

Apa yang harus Anda ketahui, bagaimanapun, adalah bahwa di balik layar, dua perintah sederhana ini sebenarnya melakukan banyak tugas. Misalnya, hanya untuk menginterpretasikan parameter yang Anda masukkan ke dalam WriteLine metode, komputer perlu menetapkan posisi memori tertentu ke string, memuat karakter tersebut ke string itu, dan mengarahkan eksekusi program saat ini ke lokasi memori tertentu.

CPU kemudian perlu membaca semua bit memori itu, mencari tahu dalam konteks apa ia berjalan, memanggil ke sistem operasi (yang, pada gilirannya, perlu memanggil perangkat keras tertentu yang Anda miliki) untuk menghidupkan atau mematikan sinyal yang mengubah setiap piksel di layar Anda ke nilai warna masing-masing. Dan perjalanan kecil ini bahkan bukan representasi yang sepenuhnya akurat atau lengkap dari semua yang terjadi.

Semua hal ini terjadi karena Anda menulis beberapa karakter ke dalam Visual Studio dan menekan sebuah tombol. Mengintip di balik tirai ini menggambarkan prinsip lain yang sangat penting dalam pemrograman yang disebut abstraksi . Singkatnya, kami ingin menyembunyikan detail rumit dari suatu operasi dan berinteraksi dengannya melalui metode yang mudah digunakan. Untuk mengeluarkan konten ke konsol, kami menyembunyikan semua detail seluk beluk ke dalam metode yang disebut WriteLine .

Dua manfaat utama dari abstraksi adalah kita dapat menulis kode yang jauh lebih sedikit dan dengan tidak harus mengulang kode yang sama setiap kali untuk mencapai hasil yang sama, kita juga menulis kode yang lebih baik. Di balik layar, hasil yang kami capai dengan WriteLine sederhana kami dan ReadLine kode dapat mengambil ratusan baris kode. Harus menulis semua kode itu sangat meningkatkan kemungkinan membuat kesalahan.

Agar akurat, dalam contoh kami di sini, adalah tim .NET di Microsoft yang menyembunyikan detailnya untuk kami. Sebagai imbalannya, mereka memberi kita antarmuka yang sangat disederhanakan yang dengannya kita dapat memprogram aplikasi kita. Acak kata-kata dalam kalimat itu sedikit dan Anda bahkan dapat menyebutnya sebagai Antarmuka Pemrograman Aplikasi, atau API.

Kerangka kerja lain juga memiliki API. Misalnya, jQuery adalah API yang mengabstraksi banyak detail seluk beluk tentang bagaimana JavaScript berinteraksi dengan konten di halaman web, seperti animasi, validasi formulir, manipulasi konten, dan sebagainya. OpenGL adalah API yang mengabstraksi interaksi dengan perangkat keras grafis.

Ada ribuan API yang memberi Anda cara untuk melakukan aktivitas yang rumit. Atlantic.NET juga memiliki API untuk mengelola server cloud Anda, sehingga setelah Anda terbiasa dengan pemrograman, Anda dapat membuat program yang memulai, mendaftar, membuat, atau menghentikan instans di akun Atlantic.NET Anda.

Catatan:API Atlantic.NET memerlukan bekerja dengan sesuatu yang disebut antarmuka RESTful, yang sedikit di luar cakupan artikel pengantar ini.

.

Penutup Program Pertama Anda

Anda memiliki banyak hal untuk dipelajari dalam artikel ini, tetapi sekarang saatnya untuk istirahat. Kami telah membahas secara mendalam bagaimana input dan output bekerja dan memberi Anda pengantar pemrograman berorientasi objek. Anda juga telah belajar tentang pentingnya abstraksi dan bagaimana abstraksi membantu kita menghindari kesalahan dan menyederhanakan penulisan kode kita. Anda telah melihat bagaimana halaman web dan aplikasi konsol menggunakan pendekatan input dan output yang berbeda namun serupa dan setidaknya telah melihat sekilas pendekatan pemrograman yang sama sekali berbeda yang disebut pemrograman berbasis peristiwa.

Di artikel berikutnya, kami akan memperluas program kami dengan memperkenalkan variabel dan tipe data, dan Anda akan mulai membuat game tebak-tebakan yang sangat sederhana menggunakan konsep-konsep ini bersama dengan apa yang telah Anda pelajari.

Seri Panduan

Ini adalah bagian 2 dari seri 5 bagian untuk Pengenalan Pemrograman

  1. Pengantar Pemrograman:Memulai
  2. Pengantar Pemrograman:Program Pertama Anda
  3. Pengantar Pemrograman:Variabel, Jenis, Dan Memanipulasi Data
  4. Pengantar Pemrograman:Kontrol Aliran
  5. Pengantar Pemrograman:Pemrograman Berorientasi Objek

.


Linux
  1. Debian – Bagaimana Melengkungkan Konten Halaman Web Penuh?

  2. Cara mengakses halaman login Plesk Anda

  3. Cara Menulis dan Menjalankan Program Qt pertama Anda di Debian 10

  1. Bahasa Pemrograman C - Pendahuluan

  2. Cara men-deploy pod pertama Anda di Cluster Kubernetes

  3. Bagaimana cara mendapatkan alamat MAC mesin Anda menggunakan program C?

  1. Cara Membagikan Terminal Anda Ke Web Menggunakan Streamhut

  2. Cara membuat program Java pertama Anda di CentOS 8

  3. Tulis Program Apple Swift Pertama Anda di Debian