Halo, dan selamat datang kembali.
Mari kita bicara tentang dasar dari sebuah program.
Karena ini adalah permulaan kelas pemrograman, khususnya
yang akan kita bicarakan C, sebelum Anda dapat memahami bahkan
bahasa pemrograman, Anda perlu untuk memahami apa itu program.
Jadi saya ingin menjelaskan beberapa dasar, konsep dasar untuk Anda sebelum
kita mulai dalam rincian C.
Komputer adalah mesin yang sangat bodoh.
Kalian, saya yakin, lebih dari lebih dari tidak akrab dengan apa
yang dapat dilakukan komputer dan apa yang dilakukannya.
Secara khusus, di bawah tenda dan apa yang terjadi saat Anda
mengklik browser Anda, saat Anda mengklik berbagai aplikasi yang Anda gunakan, apa yang
terjadi di bawah tenda apakah ada semacam program
yang sedang berjalan dan program itu adalah memberitahu komputer apa yang harus dilakukan.
Komputer benar-benar bodoh.
Mereka hanya melakukan apa yang diperintahkan.
Jadi operasi dasar dari komputer akan membentuk apa yang dikenal
sebagai set instruksi komputer.
Satu set instruksi jika Anda bisa berpikir tentang itu, itu adalah bagaimana itu
akan melakukan sesuatu. Jadi kita perlu
memberi tahu komputer ini bagaimana hal itu akan dilakukan.
Kami melakukannya dalam bentuk program pada tingkat yang lebih rendah.
Setiap komputer memiliki apa disebut set instruksi.
Satu set instruksi pada dasarnya adalah instruksi pada
CPU, prosesor komputer.
Jadi untuk memecahkan masalah menggunakan komputer dengan memberi tahu Anda apa yang harus dilakukan,
Anda memberikan solusi ini dengan mengirimkan ini instruksi ke set instruksi.
Jadi itulah yang terjadi
ketika Anda menulis program komputer adalah Anda mengirim instruksi khusus untuk
memecahkan masalah tertentu melalui perintah ke CPU, prosesor.
Dan pendekatan atau metode yang digunakan untuk memecahkan masalah yang
dikenal sebagai algoritma.
Jadi untuk kalian yang mengerti matematika, algoritme adalah cara Anda memecahkan
masalah.
Jadi misalnya jika Anda buat seluruh program dan yang
dilakukannya hanyalah menguji apakah a pengguna memasukkan angka ganjil atau genap.
Apa yang akan digambarkan sebagai algoritma itu sendiri adalah ujian, apakah angkanya
genap atau tidak atau aneh, itulah algoritmanya.
Pernyataan yang memecahkan masalah seluruhnya menjadi program.
Dan kita akan membahas ini konsep dan algoritma.
Algoritma genap adalah genap lebih banyak jenis hubungan - terkait dengan
pemrograman modul.
Jadi kita akan membicarakannya ketika kita berbicara lebih banyak tentang rincian untuk melihat.
Tapi sekali lagi, aku ingin membiarkanmu memahami apa yang Anda lakukan ketika Anda
sedang menulis kode.
Apa yang terjadi di lapisan yang sangat, sangat rendah.
Anda akan menulis algoritma
ini yang terkandung di dalam suatu program.
Jadi untuk menulis program, Anda akan
perlu menulis instruksi dengan benar untuk mengimplementasikan algoritma.
Instruksi ini dapat diungkapkan dalam setiap jenis pernyataan
dari bahasa pemrograman tertentu.
Jadi kita akan fokus pada c untuk kelas ini, tapi saya
yakin Anda pernah mendengar tentang pemrograman lain bahasa seperti
java, c ++, objektif c digunakan dalam aplikasi iOS tetapi sebenarnya lebih sekarang, Swift digunakan.
Tapi ada semua pemrograman ini bahasa yang
dapat Anda pelajari yang pada dasarnya akan memungkinkan Anda untuk mengirimkan instruksi ke
CPU dalam bentuk algoritma dan pernyataan.
Juga, saya ingin berbicara tentang beberapa terminologi dasar, CPU,
unit pemrosesan pusat.
Ini adalah otak dari komputer.
Di sinilah sebagian besar pekerjaan sedang dilakukan.
Di sinilah instruksi dieksekusi.
Ingatan, kamu sering mendengar istilah ini memori.
Dan siswa sering mendapatkan memori sangat bingung dengan hard drive.
Memori tidak sama sebagai harddisk.
Memori sering disebut sebagai ram, yang merupakan memori akses acak.
Semua data yang disimpan dalam memori, merupakan
komponen perangkat keras yang terpisah.
Ini bukan disk drive yang sebenarnya.
Semua data dalam program disimpan dalam memori, komponen perangkat
keras yang terpisah.
Jadi itu menyimpan datanya program saat sedang berjalan.
Dan kita akan berbicara tentang variabel dan apa artinya.
Tetapi sebuah program perlu memiliki data untuk melakukan
perhitungan untuk melakukan algoritma.
Data itu akan menjadi disimpan di ram, memori.
Alasan kami menyimpannya di memori alih-alih menyimpannya di hard
drive adalah memori itu jauh lebih cepat, memungkinkan program
untuk berjalan lebih cepat.
Tapi ingatan juga biasanya tidak gigih di reboot jenis
klarifikasi lain.
Tapi kamu harus mengerti hanya istilah ini RAM.
Artinya ingatan.
Ini adalah variabel dan datanya program itu sendiri di mana ia disimpan.
Perangkat keras terpisah komponen kemudian hard drive.
Drive perangkat keras adalah sesuatu Anda membeli saat komputer -- itu
adalah penyimpanan permanen.
Ini biasanya sangat, sangat besar. Dia berisi gigabyte, terabyte data.
Ini menyimpan file yang mungkin menjadi sumber dari sebuah program.
Dan saat Anda menghidupkan komputer matikan dan hidupkan kembali, file-file
itu masih ada.
Saat Anda menghidupkan komputer mati dan hidup untuk suatu program, program
tersebut benar-benar berhenti mengeksekusi dan tidak ada di ram.
Jadi pahami perbedaannya antara ram dan hardisk.
Ini adalah konsep yang penting.
Sekali lagi, anggap ram sebagai yang terkait untuk memprogram, karena hard drive
terkait dengan penyimpanan
permanen dan kami biasanya menempatkan sumber daya di sana.
Kami akan memiliki file sistem operasi, semuanya macam sumber daya program yang berbeda.
Sebuah sistem operasi dikembangkan untuk pada dasarnya membuat hidup Anda jauh lebih mudah ketika Anda
ingin menggunakan komputer.
Karena pada tingkat yang sangat rendah, a komputer
hanya melakukan apa yang diperintahkan dan itu hanya instruksi menggunakan set instruksi.
Itu akan sangat sulit untuk digunakan jika Anda harus
memahami semua instruksi ini.
Jadi ada program yang disebut an sistem operasi
yang memudahkan pengguna untuk menggunakan komputer.
Ini mengontrol semua operasi komputer, menangani semua input dan output
melalui perangkat keras sehingga ia mengerti bagaimana
berinteraksi dengan keyboard, mouse, monitor.
Itu juga mengelola komputer sumber daya, menangani eksekusi aplikasi
yang berbeda.
Sistem operasi adalah kelas yang benar-benar terpisah.
Ada banyak yang masuk ke sistem operasi,
tetapi pahami dasar-dasarnya.
Itu hanya memungkinkan Anda untuk menggunakan komputer Anda dengan cara yang lebih mudah.
Beberapa contoh sangat sistem operasi umum adalah hal-hal seperti
Windows, benar.
Semua orang menggunakan Windows.
Windows 10,
Windows XP, apa pun masalahnya.
Linux, UNIX yang akan kita berbicara lebih banyak tentang ketika
kita berbicara tentang sejarah C.
Android adalah sistem operasi untuk perangkat seluler, iOS.
Ini adalah program khusus yang sangat besar yang mungkin berisi banyak program
berbeda yang berinteraksi, membuat hidup Anda jauh lebih mudah dengan
berinteraksi dengan komputer.
Siklus eksekusi pengambilan.
Ini adalah siklus hidup CPU.
Saya hanya menyebutkan ini karena, sekali lagi, kami
hanya menjelaskan terminologi dasar.
Beginilah cara Anda mengirim instruksi ke komputer, CPU, yang sebenarnya
terjadi adalah Anda mengambil instruksi dari memori
karena itulah programnya.
Dan kemudian Anda akan jalankan itu di CPU, dan ini adalah
loop seperti ini Anda melakukannya berulang-ulang.
Anda mengulanginya.
Dan jika Anda pernah mendengar tentang istilah gigahertz, CPU gigahertz dapat melakukan
sekitar satu miliar kali per detik, satu miliar instruksi per detik.
Jadi Anda bisa membayangkannya apa yang terjadi
ketika Anda menjalankan komputer dengan ini mengambil siklus hidup eksekusi.
Dan ini sedikit ilustrasinya yang saya ambil dari gambar di
internet yang menunjukkan efek ini kepada Anda siklus eksekusi sedikit lebih jelas.
Apa yang terjadi ketika Anda
berinteraksi dengan CPU dan instruksi ini.
Apa yang terjadi adalah Anda ambil dari ram.
Dan ram, ingat, berisi data program.
Anda mengambil data ada untuk instruksi.
Dan Anda terus-menerus memecahkan kode data yang disimpan dalam register dan ram dan
kemudian dijalankan pada bagian yang berbeda dari CPU, baik unit
kontrol atau ALU.
Itu lingkaran sekalipun.
Itu hanya berulang dan berulang-ulang.
Dan lagi untuk CPU saat ini miliar kali per detik.
Jadi ketika kita berbicara tentang program c dan menulis program c, pada
tingkat yang sangat rendah, di bawah segalanya, kami hanya berinteraksi dengan CPU melalui bahasa
pemrograman tingkat tinggi kami.
Jadi level yang lebih tinggi bahasa pemrograman.
Bahasa pemrograman tingkat tinggi memudahkan penulisan program.
Sekarang jika kita harus sekali lagi, pahami semua
instruksi ini pada CPU, itu akan menjadi sangat sulit untuk ditulis.
Dan untuk memahami semua instruksi, yang biasanya berarti itu adalah
bahasa rakitan.
Jika Anda pernah mendengar istilah perakitan bahasa, itu hanya berarti Anda
sedang menulis program pada tingkat yang sangat rendah di mana levelnya sangat rendah sehingga
Anda memahami set instruksi.
Dan Anda dapat membayangkan bahwa jika Anda adalah untuk menulis semua
program Anda dengan semua instruksi ini, itu akan sangat tidak efisien
dan sangat sulit untuk menulis sebuah program.
Jadi pemrograman tingkat yang lebih tinggi bahasa adalah
kebalikan dari bahasa rakitan.
Ini level yang jauh lebih tinggi.
Contohnya adalah c.
C adalah tingkat yang lebih tinggi bahasa pemrograman.
Ini menggambarkan tindakan yang program akan tampil dengan cara
yang jauh lebih abstrak.
Anda tidak harus menghafal instruksi pada CPU.
Anda baru mengerti bahasanya sendiri, dan Anda memecahkan masalah melalui
algoritme ini.
Ini terlihat lebih seperti bahasa Inggris.
Jauh lebih mudah untuk dipahami.
Jika Anda melihat bahasa rakitan, yang
akan Anda lihat adalah memindahkan perintah dengan register, dengan angka, pada
dasarnya hanya pernyataan numerik.
Dan dengan menggunakan level yang lebih tinggi bahasa seperti c, Anda tidak
perlu khawatir tentang semua ini.
Anda tidak perlu khawatir tentang set instruksi.
Anda tidak perlu khawatir tentang pernyataan bahasa rakitan.
Jadi jauh lebih efisien dan jauh lebih mudah
untuk menyelesaikan dan memecahkan masalah.
Jadi kita akan belajar c sebagai bahasa pemrograman
tingkat yang lebih tinggi, tetapi contoh lain adalah java, tujuan c, hal-hal yang saya sebutkan.
Ini adalah pemrograman tingkat tinggi bahasa yang membuat hidup Anda jauh
lebih mudah dan lebih efisien.
Selain level yang lebih tinggi ini bahasa pemrograman, jika Anda memiliki bahasa
ini yang lebih abstrak, Anda harus dapat mengambil
bahasa itu dan kemudian menjalankannya di CPU.
Anda harus mengubahnya pada dasarnya menjadi instruksi yang dimengerti oleh CPU.
Dan di sinilah a kompiler ikut bermain.
Seringkali ketika Anda menulis kode di pemrograman, Anda akan
menggunakan kompiler yang menerjemahkan bahasa tingkat tinggi ini, kode
sumber menjadi terperinci instruksi bahasa mesin, pada
dasarnya, bahasa rakitan.
Jadi, Anda akan menulis program yang
akan melakukan pemikiran tingkat tinggi dan lebih abstrak.
Dan kemudian kompilernya pergi untuk menghasilkan jutaan
instruksi yang masuk ke CPU pada set instruksi.
Jadi kita akan menggunakan compiler di kelas ini untuk melakukan hal ini.
Kami akan menulis kode sumber di bentuk abstrak tingkat yang jauh lebih tinggi.
Dan kemudian kita akan menjalankan program yang
disebut kompiler untuk mengubah kode itu menjadi sesuatu bahwa CPU mengerti.
Sekarang inilah hal lain tentang kompiler apakah mereka juga akan memeriksa apakah program
Anda memiliki sintaks yang valid atau tidak.
Jadi ketika Anda menulis kode, Anda harus Anda harus
mengikuti aturan bahasa.
Aturan bahasanya adalah pada dasarnya sintaks, apakah Anda memiliki
titik koma atau tidak akhir pernyataan, apakah Anda menggunakan
kata kunci tertentu atau tidak.
Jika Anda melakukan hal-hal ini salah, Anda tidak
akan dapat menjalankan program Anda.
Jadi kompiler akan menemukan semua kesalahan ini, dan itu akan memberi
tahu Anda dan melaporkan kembali ke Anda dan berkata,
hei, Anda tidak menulis kode dengan
benar, Anda harus perbaiki sebelum kita benar-benar mengonversi barang ini menjadi instruksi yang diset pada CPU.
Jadi kita akan akrab dengan kompiler
dalam arti umum, cara menggunakannya, cara mengerti, apa yang mereka katakan kepada kita.
Bahasa tingkat tinggi banyak lebih mudah dipelajari, lebih mudah
diprogram daripada bahasa mesin.
Itulah inti dari slide ini sekarang adalah dengan menggunakan bahasa seperti c, itu
akan menjadi jauh lebih efisien dan mudah.
Saat kita menulis sebuah program, kita akan benar-benar melakukan beberapa,
beberapa langkah.
Dan saya menemukan ilustrasi ini yang benar-benar menggambarkan langkah-langkah
dengan cara yang sangat bagus.
Jadi saya mengambil ini dari sebuah buku.
Ini adalah serangkaian langkah dasar ketika Anda menulis program apapun.
Dari langkah pertama mendefinisikan tujuan program, memahami
persyaratan, hingga memelihara dan memodifikasi program.
Jadi mari kita berjalan melalui ini langkah sangat cepat dan Anda
akan menemukan bahwa Anda melakukan - pergi untuk melakukan ini di kelas ini.
Ketika Anda mulai menulis program, Anda akan
mengikuti semua langkah ini.
Langkah pertama adalah menentukan tujuan program.
Ini adalah tempat yang Anda tuju memahami persyaratan.
Anda tidak dapat mulai menulis kode kecuali Anda mengerti apa yang perlu Anda lakukan.
Jadi, Anda perlu mendapatkan yang jelas gagasan tentang apa yang
ingin Anda capai dalam langkah ini.
Setelah Anda memahami persyaratan, Anda kemudian akan
mulai merancang kode.
Saat Anda mendesain kode, ini adalah bagaimana kode akan
memenuhi persyaratan.
Apa yang terjadi dengan antarmuka pengguna? terlihat seperti jika diperlukan.
Bagaimana Anda akan mengatur Anda? program, apakah Anda
akan membuat fungsi yang berbeda dan mencoba membuat algoritma yang berbeda dan sebagainya.
Kemudian Anda akan mulai mengimplementasikan kode.
Di sinilah Anda benar-benar menulis kode dan memasukkannya ke dalam
editor dalam lingkungan pengembangan terintegrasi.
Anda menerjemahkan desain ke sintaks bahasa pemrograman, dalam hal
ini c, mengerti aturan bahasa c.
Jadi, Anda dapat menggunakan editor teks apa pun.
Kami akan benar-benar menggunakan sesuatu yang disebut balok dingin.
Anda biasanya ingin menggunakan sesuatu lebih dari editor teks, sesuatu yang
disebut IDE yang akan kita bicarakan.
Setelah Anda selesai menulis kode, Anda
harus mengkompilasinya karena perlu mengubahnya sumbernya kode ke bahasa tingkat rendah.
Kami sudah membicarakan ini, jadi ini adalah langkah yang cukup mendasar.
Dan kemudian Anda menjalankan program. Menjalankan program
adalah menjalankannya, menggunakannya.
Dan kemudian itu terjadi menjadi langkah kelima.
Setelah Anda menjalankan program, Anda tidak dilakukan karena meskipun
Anda menulis kode dan mungkin memenuhi persyaratan bahasa, itu mungkin tidak melakukan apa yang
dimaksudkan untuk dilakukan sehingga Anda
harus mengujinya dan Anda memiliki untuk menemukan dan memperbaiki kesalahan Anda.
Jadi hanya karena sebuah program adalah berjalan, bukan berarti berhasil.
Saya mendapatkan banyak siswa untuk katakan, hei, dikompilasi, saya sudah selesai. Tidak.
Anda harus memastikan bahwa ketika Anda menjalankannya, itu
memenuhi persyaratan dan melakukan apa Anda pikir itu akan dilakukan.
Jadi, Anda harus terus-menerus menguji.
Dan Anda akan melakukan langkah pertama melalui enam
berulang-ulang. Anda akan menjadi
menemukan bahwa Anda akan menulis kode, menguji, menulis kode pengujian, penulisan kode, pengujian.
Dan biasanya, ketika Anda melakukan ini, Anda ingin melakukannya dalam potongan yang sangat kecil.
Anda ingin menulis dua baris kode, tes. Dua baris kode lainnya,
tes dan sebagainya.
Jadi, Anda perlu menguji dan men-debug.
Debugging adalah konsep lain.
Kami akan memiliki banyak kuliah di debugging, tetapi ini adalah saat Anda menemukan
dan memperbaiki kesalahan pemrograman Anda.
Ada teknik tertentu yang Anda dapat dilakukan, alat tertentu yang dapat Anda gunakan untuk membantu
Anda menemukan kesalahan ini.
Dan Anda akan belajar banyak dengan menguji dan debugging karena Anda selalu
dapat mempelajari banyak hal informasi dengan melakukan kesalahan.
Dan itu akan menjadi normal.
Anda akan mengkompilasi dan program tidak akan
melakukan apa yang Anda lakukan seperti yang Anda katakan dan Anda akan belajar dari itu.
Dan itulah kami akan dilakukan di kelas ini.
Saya tidak hanya akan menunjukkan kepada Anda cara yang benar untuk melakukan sesuatu.
Saya akan menunjukkan kepada Anda yang salah cara untuk melakukan sesuatu, dan kemudian
Anda akan melihat mengapa ini salah.
Langkah terakhir adalah perawatan.
Ini adalah saat program-programnya dirilis dan kemudian digunakan oleh
banyak orang, tetapi mungkin masih memiliki bug.
Jadi misalnya ketika windows 10 adalah dirilis, Anda akan melihat bahwa itu masih memiliki
bug atau masih macet.
Jadi, Anda terus-menerus mendapatkan pembaruan.
Dan saat Anda mendapatkan pembaruan tersebut, itu namanya memelihara program.
Jadi hanya karena kamu sudah selesai menulis
kode dan merilisnya ke publik, itu tidak berarti Anda sudah selesai memeliharanya.
Pemeliharaan sering kali fase paling ekstensif, langkah paling ekstensif karena ketika Anda
merilis program itu bisa di luar sana selama lima
atau sepuluh tahun.
Anda harus memperbaiki ini bug sehingga pelanggan Anda senang.
Anda mungkin juga ingin menambahkan fitur baru untuk tetap up to date di pasar.
Jadi perawatannya benar-benar penting juga.
Pemeliharaan terjadi setelah Anda melepaskan produk ke pelanggan.
Jadi untuk semua langkah ini Anda dapat melompat-lompat, menjalankan langkah-langkah
dalam urutan yang berbeda, tergantung pada apa metodologi pemrograman, itu
juga kuliah lainnya.
Anda tidak selalu akan selalu lakukan langkah-langkah ini dalam pendekatan air terjun di mana Anda
mulai dari awal dan berakhir di -- akhir di langkah terakhir.
Anda mungkin mendesain dan kemudian kembali dan melakukan pengujian Anda dan kemudian
kembali dan mendesain ulang dan sebagainya.
Jadi kamu akan melompat sekitar semua tergantung
pada apa yang paling praktis.
Dari pengalaman saya, banyak yang baru programmer
di banyak kelas di udemy mengabaikan langkah satu dan dua dan
langsung menulis kode.
Mereka menunjukkan cara menulis kode, tetapi mereka tidak menunjukkan kepada
Anda mengapa Anda menulis kode tersebut.
Jadi ini adalah kesalahan besar.
Saat Anda mulai menulis kode, Anda perlu memahami konsep,
Anda perlu memahami persyaratan.
Dan Anda bisa lolos dengan ini dalam program yang
sangat kecil, tetapi dengan program yang lebih besar, Anda akan harus sepenuhnya fokus pada desain.
Jadi semakin besar dan semakin banyak kompleks program ini,
semakin banyak perencanaan yang dibutuhkan.
Anda harus mengembangkan kebiasaan perencanaan sebelum pengkodean.
Jangan hanya menyelam, dan Anda akan pergi untuk melihat dari kuliah di kelas
ini bahwa saya melakukan banyak perencanaan.
Saya akan memberitahu Anda di tantangan ketika Anda mulai menulis beberapa
kode yang Anda butuhkan lakukan dan bagaimana Anda harus mendesainnya.
Karena ini akan berhasil lebih mudah bagi Anda untuk benar-benar menerapkan
kode, yang merupakan langkah ketiga.
Jadi ingatlah itu kamu sering dapat menanam sesuatu dengan menuliskan sesuatu
di atas kertas.
Ada segala macam yang bagus dokumentasi merancang bahasa di luar sana dan hal-hal yang
dapat Anda gunakan.
Tapi kamu selalu ingin pada dasarnya merencanakan secara efisien.
Dan kemudian saat Anda mengkode, saya menyebutkan ini sebelumnya,
tetapi ini adalah hal lain yang sangat, sangat penting konsep, Anda
selalu ingin bekerja dalam langkah-langkah kecil, membagi dan menaklukkan Anda ingin terus menguji.
Anda tidak ingin menulis 100 baris kode dan kemudian berkata, oh, saya
sudah selesai, biarkan saya pergi menguji.
Karena sekarang, jika tidak bekerja mungkin ada kesalahan dalam
100 baris kode.
Ini akan jauh lebih sulit untuk memecahkan masalah itu.
Tetapi jika Anda menulis kode dalam sedikit potongan, lima baris kode, uji, lalu
tulis lima baris lagi kode, ujilah, Akan jauh lebih mudah
untuk menemukan dan memperbaiki kesalahan Anda.
Jadi mari kita fokus pada membagi dan menaklukkan ketika kita menulis kode kita di kelas ini.
Saya harap ini membantu.
Sekali lagi, ini hanya beberapa dasar.
Saya ingin memberikan beberapa terminologi dasar.
Banyak dari kalian mungkin sudah tahu banyak informasi ini.
Tapi ketika Anda sedang belajar bahasa pemrograman, Anda
harus memahami dasar-dasar ini.
Terima kasih.