Button Matrix Code and Wiring Bear with me here, I'm new to arduinos, so what I'm saying might only make sense in my own mind.

I'm trying a button matrix and I not completely sure on my wiring and I have a few questions.


Is the diagram correct?
I wire D2 to D3 and set them to output and input respectively. In the code I digital write to D2 a HIGH, will D3 then read high? 
What is the best way to read the state of each button? Is there a Library that can simplify it?


I'm sorry if this is all just confused gibberish.

EDIT: I got the idea from this video, which explains some of it, but no code. He however uses an arduino micro.

EDIT #2: I realized I wired the buttons incorrectly.
@Jot commented to use the Keypad Library. Which I got to work using the tutorial. Took a few minutes to set up.