GNU/Linux >> Belajar Linux >  >> Linux

Cara:Pengantar Pemrograman – Variabel, Jenis, dan Memanipulasi Data

Seri Panduan

Ini adalah bagian 3 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

Kembali ke Program Kami

Dalam dua artikel sebelumnya dalam seri ini, Anda rata-rata telah menulis satu baris kode per artikel. Di sini, kita menambahkan baris lain, tetapi kita juga akan memodifikasi baris yang sudah kita miliki karena sekarang kita akan mulai berbicara tentang variabel dan tipe data.

Tujuan artikel ini adalah untuk mengajari Anda tentang variabel dan tipe dan cara memanipulasinya untuk membuat program yang tidak hanya mencetak “Hello World!”

Kami memiliki banyak hal untuk dibahas, jadi siapkan jari Anda, dan mari kita mulai.
.

Menggunakan Variabel

Program kami saat ini tetap sangat sederhana hanya dengan dua baris kode:

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

Baris pertama mengeluarkan sepotong teks ke konsol, dan baris kedua membaca satu baris dari pengguna. Tapi di mana garis yang kita masukkan ini berakhir? Saat ini, itu hilang begitu saja karena kami tidak melakukan apa pun untuk mengambilnya, jadi mari kita ubah segera.

Ubah baris kedua menjadi seperti berikut:

String input = Console.ReadLine();

Apa yang kami lakukan di sini adalah mengatakan bahwa "Input string" (apa pun itu) harus ditetapkan ke apa pun yang keluar dari metode ReadLine dipanggil di Console kelas statis.

Kami menggunakan tanda sama dengan untuk menetapkan nilai dalam C# dan banyak bahasa serupa. Apa pun yang ada di sisi kiri tanda sama dengan diberi nilai dari apa pun yang ada di sisi kanan.

Dua kata dalam String input memiliki arti yang berbeda. String menunjukkan jenis nilai dan input adalah nama yang kita gunakan untuk mewakili nilai. Apa yang kami lakukan di sini adalah membuat variabel disebut "input" yang memiliki tipe dari "Tali". Saya akan menjelaskan jenisnya nanti di artikel ini.

Dalam pemrograman, kami menggunakan variabel untuk menyimpan data dalam memori sehingga kami dapat memanipulasinya dengan mudah. Anda juga menggunakan ini dalam kehidupan sehari-hari Anda, tanpa benar-benar menyebutnya sebagai variabel. Pikirkan, misalnya, "Telepon Anda", yang merupakan cara mudah untuk mengingat nama perangkat elektronik tertentu yang dapat berubah seiring waktu. Atau, pertimbangkan “nilai tukar dolar AS ke Euro”. Anda tidak perlu mengingat nilai itu sepanjang waktu, dan nilainya berubah dengan cepat, jadi Anda mungkin merasa lebih mudah untuk merujuknya dengan nama daripada nilainya.

Variabel memungkinkan kita untuk merujuk ke bagian data tertentu dengan nama alih-alih nilai, terlepas dari apa nilainya atau apakah itu berubah. Dalam program kami, datanya adalah apa pun yang dimasukkan pengguna sebelum menekan tombol Enter kunci. Nama yang kami berikan untuk bagian data tertentu, dalam hal ini, adalah "input", tetapi kami dapat menyebutnya dengan istilah yang berbeda. Faktanya, ada berbagai macam pola hanya untuk penamaan variabel, dan Anda mungkin akan sangat bingung dengan itu di kemudian hari dalam karir Anda.
.

Men-debug dengan Breakpoints

Anda dapat mencobanya sekarang, tetapi sebelum Anda melakukannya, saya ingin menunjukkan kepada Anda trik Visual Studio yang disebut breakpoint . Breakpoint memungkinkan Anda untuk menghentikan eksekusi suatu program dan melihat baris kode mana yang dieksekusi–bahkan akan memungkinkan Anda untuk melangkah melalui kode baris demi baris dari titik tersebut.

Untuk membuat breakpoint, pindahkan kursor ke baris pertama kode Anda dan tekan F9 atau klik di margin di sebelah kiri nomor baris pada baris tempat Anda ingin menyetel titik henti sementara. Jika dilakukan dengan benar, seluruh garis akan berubah menjadi merah, dan Anda akan mendapatkan lingkaran merah di margin.

Gambar 1:Breakpoint Ditambahkan

Perhatikan bahwa breakpoint menghentikan eksekusi sebelum baris di mana Anda mengaturnya. Selain itu, breakpoint hanya berfungsi saat Anda menjalankan aplikasi melalui alat pengembangan seperti Visual Studio, jadi jika Anda tidak menghapus breakpoint sebelum mendistribusikan aplikasi, itu tidak masalah.

Sekarang, tekan F5 atau tombol Start di menu dan lihat aplikasi Anda berjalan. Tepat setelah itu, Visual Studio akan muncul kembali dan menunjukkan baris berikutnya untuk dijalankan dengan warna kuning.

Gambar 2:Hit Breakpoint

Pada titik ini, Anda dapat mengontrol langkah demi langkah eksekusi dan mengamati hasilnya di jendela konsol. Untuk maju selangkah, tekan F10 di Visual Studio. Bawa jendela konsol ke depan dan amati bahwa kode Anda sekarang telah melangkah satu baris ke depan, dan sekarang ada "Halo Dunia!" ditampilkan di jendela seperti yang diharapkan.

Gambar 3:Baris Perintah Berikutnya Dieksekusi

Catatan:Pemrogram sering menyebut proses menghubungkan ke kode Anda saat dijalankan sebagai "debugging". Proses ini adalah salah satu contoh dari jenis debug yang mungkin Anda lakukan untuk memverifikasi bahwa kode Anda berfungsi seperti yang diharapkan.

.
Langkah maju melalui kode Anda sekali lagi di Visual Studio. Perhatikan bahwa saat Anda melakukannya, jendela konsol muncul secara otomatis. Peristiwa ini terjadi karena konsol memerlukan masukan dari pengguna saat menjalankan Console.ReadLine() metode.

Masukkan sedikit teks yang Anda suka dan tekan Enter . Ketika Anda melakukannya, Visual Studio akan muncul kembali karena sekarang Anda telah memberikan masukan, eksekusi dapat dilanjutkan, dan kami masih menelusuri kodenya.

Di jendela Visual Studio ini, saya ingin menarik perhatian Anda ke bagian bawah layar di mana Anda akan melihat tab yang disebut "Lokal". Jika Anda tidak dapat menemukannya, Anda dapat membukanya dengan masuk ke menu dan memilih Debug->Windows->Locals atau menekan CTRL+D lalu L .

Setelah Anda membuka jendela Lokal, Anda akan melihat bahwa ada variabel di sana yang disebut "input" yang memiliki nilai yang disetel ke apa pun yang Anda masukkan di jendela konsol. Dalam kasus saya, saya memasukkan "Hai!".

Gambar 4:Debug Lokal

Tab Lokal menunjukkan variabel yang tersedia untuk Anda gunakan dalam cakupan saat ini. Namun, sebelum kita mulai memanipulasi dan menggunakan data ini, penting untuk memahami konsep tipe variabel.
.

Jenis Variabel:Statis dan Dinamis

Anda lihat, ada dua pendekatan untuk apa yang disebut programmer "mengetik", dan tidak ada hubungannya dengan menekan tombol pada keyboard. Kedua pendekatan tersebut memiliki kekuatan dan kelemahan. Dan tidak, saya tidak akan memberi tahu Anda mana yang terbaik; Anda akan memiliki banyak waktu untuk menentukannya sendiri, dan, mungkin, Anda mungkin memahami mengapa beberapa programmer mengembangkan preferensi yang hampir fanatik untuk satu dari yang lain.

Kedua pendekatan tersebut statis dan dinamis mengetik. C#, bahasa yang Anda gunakan dalam artikel ini, adalah bahasa yang diketik secara statis, sedangkan bahasa populer lainnya seperti JavaScript adalah bahasa yang diketik secara dinamis. Mari saya jelaskan perbedaannya.

Anda perhatikan sebelumnya bahwa ketika kami membuat variabel "input", kami memutuskan bahwa itu adalah String variabel. String adalah istilah yang berfungsi untuk menunjukkan tipe data apa yang bisa masuk ke dalam variabel. Anda tidak dapat menambahkan data yang tidak kompatibel ke variabel karena Visual Studio–atau secara teknis kompiler yang menerjemahkan kode pemrograman Anda ke dalam kode mesin–akan menolak dan menolak untuk bekerja sama.

Sebuah String hanyalah sepotong teks dan dapat menampung hampir semua hal, yang masuk akal saat kami meminta pengguna untuk memasukkan bagian teks apa pun. Namun, ada potensi masalah saat kami ingin mulai bekerja dengan data kami.

Katakanlah kita ingin meminta pengguna untuk memasukkan usia mereka dan kita ingin membatasi fungsi tertentu jika pengguna berusia di bawah 13 tahun, misalnya.

Bagaimana Anda menentukan apakah "Hai!" lebih kecil dari 13? Anda tidak bisa, karena tidak ada cara untuk melakukan aritmatika pada sepotong teks. "Tomat" ditambah 45 tidak masuk akal.

Situasi seperti ini adalah mengapa bahasa yang diketik secara statis memiliki tipe variabel yang berbeda. Kita dapat mengetahui apakah kita dapat melakukan operasi aritmatika atau operasi lain pada data bahkan sebelum kita mengirim program ke pengguna.

Dalam bahasa yang diketik secara statis, seperti C#, VisualBasic, dan Java, Anda harus menentukan terlebih dahulu apa yang dapat disimpan oleh suatu variabel, dan Anda tidak dapat membuat atau mengompilasi program Anda tanpa mematuhi aturan ini. Sebagai imbalannya, Anda dijamin tidak akan membandingkan Apel dengan 3,42 atau mencoba mencari tahu apakah legal menjual alkohol kepada seseorang yang berusia “bukan urusan Anda” selama bertahun-tahun.

Dalam bahasa yang diketik secara dinamis, Anda tidak mendapatkan jaminan seperti itu. Sebagai gantinya, Anda hanya bekerja dengan variabel yang dapat menampung semua jenis data. Contoh bahasa yang diketik secara dinamis adalah JavaScript. Dalam JavaScript, pemrogram perlu memeriksa apakah data yang mereka dapatkan sesuai dengan nilai yang diharapkan karena kode mereka mungkin macet jika mereka mencoba menambahkan atau membandingkan “ya” dengan 18.

Catatan:Anda sebenarnya dapat menambahkan "ya" ke 18 di sebagian besar bahasa, tergantung bagaimana Anda melakukannya. Namun, kemungkinan besar Anda akan berakhir dengan "ya18", yang mungkin tidak seperti yang Anda harapkan.

.
Dalam bahasa yang diketik secara statis, Anda juga akan menemukan bahwa semua metode mengembalikan tipe data tertentu–atau, dalam beberapa kasus, tidak ada sama sekali. Misalnya, Console.ReadLine() metode mengembalikan nilai string, jadi sangat bagus untuk mengatur String input variabel ke output dari metode itu seperti yang kita lakukan.

Namun, apa yang akan terjadi jika kita ingin meminta pengguna untuk memilih angka antara 1 dan 10 karena kita ingin menggunakan angka itu untuk sesuatu nanti? Mari kita mulai membuat game sederhana dan melihatnya, ya?
.

Program Game Menebak

Game yang akan kita buat adalah game tebak-tebakan. Kami memilih nomor rahasia antara 1 dan 10, dan kemudian kami meminta pengguna untuk menebak nomor mana itu. Kami akan membuat game ini lebih maju nanti, jadi untuk saat ini, pengguna hanya mendapat satu tebakan dan dengan demikian memiliki peluang 10% untuk melakukannya dengan benar. Faktanya, kami bahkan tidak akan menguji apakah mereka benar dalam artikel ini karena hal itu akan melibatkan kondisi dan kontrol aliran, yang merupakan konsep yang belum akan kami pelajari.

Pertama, tipe variabel untuk bilangan yang tidak memiliki desimal disebut integer, atau int Ringkasnya. Sebuah int dapat menampung jumlah yang sangat besar, biasanya dibatasi oleh tipe arsitektur CPU, dengan CPU 32-bit yang menyimpan bilangan bulat hingga sekitar 4,4 miliar. Di luar itu, kita bisa menggunakan tipe variabel lain. Namun, untuk contoh sederhana kami, int regular biasa akan bekerja dengan baik.

Untuk semua jenis variabel, kita dapat menetapkan nilai sederhana secara langsung. Misalnya:

int value = 10; 
string name = “Frank”;

Kami juga dapat melakukan operasi pada variabel, selama mereka "masuk akal". Misalnya, Anda dapat menambahkan dua nilai integer secara bersamaan.

int value1 = 10;
int value2 = 3;
int value3 = value1+value2;

Integer yang disimpan dalam variabel “value3” adalah 13 setelah bagian kode yang berisi baris-baris ini melewati titik ini.

Kami juga dapat menetapkan nilai dari nilai kembalian metode. Mari kita coba hanya menetapkan hasil dari Console.ReadLine() metode menjadi int , Bolehkah kita? Jika Anda belum melakukannya, hentikan eksekusi program Anda. Kami sekarang akan memperbarui dua baris kode kami sebagai berikut:

Console.WriteLine("Guess a number between 1 and 10:");
int input = Console.ReadLine();

Ketika Anda melakukannya, Anda akan mendapatkan kasus squigglies merah (seperti yang ditunjukkan di bawah ini pada Gambar 5) dan pesan kesalahan dalam daftar Kesalahan yang menyatakan "Tidak dapat secara implisit mengubah tipe 'string' menjadi 'int'".

Gambar 5:Kasus Tupai Merah

Kami mendapatkan kesalahan ini karena nilai yang keluar dari Console.ReadLine() adalah string, dan kompiler tidak dapat menjamin bahwa ia dapat mengubah apa yang mungkin dimasukkan pengguna menjadi angka. Seorang pengguna mungkin memasukkan "TIDAK!" misalnya, dan tidak ada cara untuk mengubah input tersebut menjadi angka.

Tentu saja ada cara untuk mengatasi masalah ini. Kami dapat memaksa kompiler untuk menerima apa pun yang masuk sebagai tipe tertentu. Sebenarnya, kita bisa melakukan ini dengan jenis apa pun. Ini adalah proses yang disebut casting .

Ketika kita melemparkan tipe variabel, kompiler akan melakukan yang terbaik untuk mengkonversi dari satu tipe variabel ke tipe lainnya. Pemeran ini, misalnya, dapat berfungsi jika Anda memiliki angka desimal dan menginginkan bilangan bulat.

decimal decimalvalue = 3.14M;
int integervalue = decimalvalue;

Baris pertama memberikan nilai 3,14 ke decimal variabel yang disebut decimalvalue . Baris kedua mencoba menetapkan nilai desimal itu ke bilangan bulat.

Catatan:M ada hanya sebagai petunjuk kepada kompiler bahwa kita sedang membuat nilai desimal karena, untuk menambahkan lebih banyak kebingungan ke titik ini, ada beberapa jenis decimal nilai, termasuk presisi ganda dan nilai floating point. Meskipun berguna untuk diketahui, tidak satu pun dari poin ini yang perlu Anda khawatirkan dalam artikel ini.

.
Jika Anda memasukkan baris ini di Visual Studio, Anda akan melihat bahwa bahkan sekarang, kami mendapatkan kasus squigglies karena decimal nilai tidak cocok dengan int nilai. Jika kami mencoba, kami akan kehilangan .14 dan hanya tersisa 3 sebagai nilai integervalue .

Perilaku ini mungkin persis seperti yang kita inginkan. Dalam hal ini, kita dapat menggunakan decimal nilai ke int , secara efektif memaksa kompiler untuk menerima konversi eksplisit dari nilai desimal ke nilai integer. Kita melakukannya dengan mendahului nilai dengan tipe yang kita inginkan dalam tanda kurung. Bandingkan baris kode ini dengan yang dari atas.

decimal decimalvalue = 3.14M;
int integervalue = (int)decimalvalue;

Sekarang coretan Visual Studio kami akan hilang, dan kompilernya senang. Kami kehilangan beberapa detail dalam jumlah, tetapi Anda mungkin yakin bahwa inilah yang Anda inginkan.

Di C#, kompiler akan meminta Anda memberikan nilai jika ada kemungkinan kehilangan data, seperti halnya jika Anda beralih dari nilai desimal ke bilangan bulat. Namun, dengan senang hati akan menerima konversi yang kompatibel bila tidak ada kemungkinan kehilangan data. Jika Anda mencoba menetapkan int nilai ke decimal ketik, misalnya, Anda tidak akan mendapat pertengkaran dari kompiler.

Namun, sejauh ini, kami tidak benar-benar mendekati solusi untuk masalah kami. Kita dapat mencoba untuk memberikan nilai string yang berasal dari Console.ReadLine() menjadi int , tetapi kompilator akan mengeluh bahwa ia tidak dapat mengubah nilai string menjadi bilangan bulat secara otomatis (seperti yang ditunjukkan di bawah pada Gambar 6) karena tidak ada cara untuk menjamin sebelumnya bahwa adalah mungkin untuk mengubah apa yang berasal dari pengguna menjadi angka.

Gambar 6:Kesalahan dengan Casting String ke Int

Jangan takut, karena ada cara yang lebih baik untuk menyelesaikan ini! Solusinya adalah menggunakan metode statis untuk mengurai nilai string menjadi integer, dan terletak tepat di int mengetik sendiri. Dengan demikian, kita dapat memanggil int.Parse metode, kirimkan apa pun yang masuk dari Console.ReadLine() metode, dan dapatkan kembali bilangan bulat.

Jadi, mari perbarui kode program Anda untuk meminta pengguna memasukkan data terlebih dahulu, lalu mengambil data ke dalam string variabel yang disebut “teks”, dan terakhir untuk mengurai “teks” menjadi bilangan bulat.

Console.WriteLine("Guess a number between 1 and 10:");
string text = Console.ReadLine();
int input = int.Parse(text);

Setelah Anda melakukannya, semua coretan Anda akan hilang, dan program Anda akan berjalan seperti yang diharapkan. Jangan ragu untuk mengatur breakpoint setelah baris terakhir untuk menghentikan eksekusi dan memeriksa variabel Anda. Lihat apa yang terjadi saat Anda memasukkan angka selama eksekusi.

Gambar 7:Eksekusi yang Valid

Anda akan melihat bahwa "input" sekarang menunjukkan bahwa ia memiliki nilai 3 sedangkan "teks", dalam kasus saya, memiliki nilai "3" (perhatikan tanda kutip ganda; tanda kutip ganda menandakan nilai string).

Tapi apa yang terjadi jika kita memasukkan sesuatu selain angka? Nah, jika Anda memasukkan sesuatu seperti "Halo" alih-alih angka, program akan macet. Di Visual Studio, eksekusi akan berhenti dan memberi tahu Anda tentang pengecualian, seperti yang ditunjukkan di bawah ini pada Gambar 8.

Gambar 8:Eksekusi Tidak Valid

Sebagai pemrogram, kami tidak ingin perangkat lunak kami mogok, jadi kami perlu menangani bug ini. Namun, kita akan meninggalkannya untuk artikel berikutnya karena melibatkan manipulasi alur program, dan kita telah membahas cukup banyak untuk sampai ke titik ini.
.

Variabel, Jenis, dan Pembungkusan Data Memanipulasi

Untuk saat ini, saatnya untuk menyelesaikan artikel ketiga ini, dan meskipun hanya menulis satu baris kode lagi, kami telah membahas banyak materi baru. Jangan khawatir, ketika saya mulai mempelajari ini bertahun-tahun yang lalu, ada banyak aspek yang membingungkan bagi saya juga.

Dalam artikel ini, kita telah membahas konsep variabel dan melihat tipe data serta kapan dan mengapa tipe data penting. Anda telah belajar tentang cara membuat variabel dan bahkan cara mengubah data dari satu jenis ke jenis lainnya melalui casting. Anda telah mempelajari tentang debug langkah demi langkah, titik henti sementara, dan cara memeriksa variabel yang tersedia di Visual Studio.

Anda juga harus memperhatikan bahwa hal-hal yang telah Anda pelajari sekarang sangat umum di seluruh bahasa dan platform, dan saya telah berhati-hati untuk memperkenalkan dan menjelaskan konsep yang bervariasi, seperti pengetikan statis versus dinamis.

Pada artikel berikutnya, kita akan melihat flow control sehingga Anda dapat mempelajari cara mengontrol eksekusi program Anda dan memeriksa berbagai kondisi untuk menentukan apa yang harus dilakukan program selanjutnya.

Seri Panduan

Ini adalah bagian 3 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. Memanipulasi X Key Dan Pointer Grabs Di Command Line?

  2. Cara Mengatur, Mendaftar, dan Menghapus Variabel Lingkungan di Linux

  3. Cara Memulai dan Menghentikan OSWatcher

  1. Variabel Lingkungan Linux:Cara Membaca dan Mengatur di VPS Linux

  2. Tutorial Pemrograman C 4 - Variabel dan Memori

  3. Redis sebagai Cache:Cara Kerja dan Mengapa Menggunakannya

  1. Mengapa Data Penting Dan Bagaimana Cara Melindunginya

  2. Cara Mengatur/Membuat Variabel Lingkungan dan Shell di Linux

  3. Cara Mencadangkan dan Mengembalikan Data &Konfigurasi RabbitMQ